我想将 onDblClick 事件添加到 codemirror 2。我发现 onCursorActivity 不会传递事件,因此我无法通过这种方法过滤事件。如何在 Codemirror 上实现 onDbClick 事件?
提前致谢。
我想将 onDblClick 事件添加到 codemirror 2。我发现 onCursorActivity 不会传递事件,因此我无法通过这种方法过滤事件。如何在 Codemirror 上实现 onDbClick 事件?
提前致谢。
您可以on
在 CodeMirror 返回的对象上调用方法:
var cm = CodeMirror.fromTextArea(document.querySelector('textarea'));
cm.on('dblclick', function() {
alert('You double click the editor');
});
您可以在文档中找到所有可用事件的列表。
在 getWrapperElement() 方法返回的元素上注册一个处理程序。除非您不仅要检测双击,还要防止发生默认值(在鼠标光标下选择单词)……在这种情况下,我想需要对核心代码进行一些修改。
Since codemirror renders inside the element specified you can add an ondblclick event to the element, like below the highlighter renders without line numbers once double clicked that specific elements will display line numbers
var codeelems = document.getElementsByClassName("code");
for (i = 0; i < codeelems.length; i++) {
(function ($this) {
var value = $this.innerHTML;
$this.innerHTML = "";
var editor = CodeMirror($this, {
value: value,
mode: "text/javascript",
lineNumbers: false
});
$this.ondblclick = function () {
editor.setOption("lineNumbers", true);
}
})(codeelems[i]);
}