繁体   English   中英

如何在codemirror文本编辑器中使用onchange、onmouseup事件

[英]How to use onchange, onmouseup event in codemirror text editor

我使用我的文本编辑器作为代码镜像。 通常,当我尝试在 textarea 中使用诸如onmouseup, onchange, oninput类的 dom 事件时onmouseup, onchange, oninput它可以工作,但是在集成 codemirror 后,它却无法工作。 请告诉我在我的文本编辑器中调用这些事件的正确方法。

没有代码镜像,它可以工作。

<textarea id="editor" rows="30" cols="100" onchange="myFunction()" onmouseup="second();"></textarea>        
<div id="demo"></div>
<div id="second"></div> 
<script>
  function myFunction() {
       document.getElementById('demo').innerHTML="The onchange function..";}    
  function second() {
       document.getElementById('second').innerHTML="The mouseup function..";}
</script>       

在集成 codemirror 文本编辑器时,它不起作用。 这是一个代码:

<textarea id="editor" onchange="myFunction()" onmouseup="second();"></textarea>
<div id="demo"></div>
<div id="second"></div> 
<script>
    var editor = CodeMirror.fromTextArea
    (document.getElementById('editor'),{
            mode:"text/x-java",
            lineNumbers:true,
            autoCloseTags:true,
            tabSize:5       
    });
    editor.setSize("1000", "450");              
    </script>       
    <script>
    function myFunction() {
          document.getElementById('demo').innerHTML="The onchange function..";}         
    function second() {
         document.getElementById('second').innerHTML="The mouseup function..";}

    </script>

因为这些事件实际上并没有发生在 textarea 上,因为它是隐藏的,相反,您需要将事件绑定到.CodeMirror元素,如下所示:

$(document).on('mouseup', '.CodeMirror', function() {
    // do something...
});
$(document).on('change', '.CodeMirror', function() {
    // do something...
});

另外,我使用keyup而不是change事件,因为您必须单击.CodeMirror才能使更改功能运行...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM