我想将onDblClick事件添加到codemirror 2.我发现onCursorActivity没有传递事件,因此我无法通过此方法过滤事件。 如何在Codemirror上实现onDbClick事件?
提前致谢。
答案 0 :(得分:2)
您可以在CodeMirror返回的对象上调用on
方法:
var cm = CodeMirror.fromTextArea(document.querySelector('textarea'));
cm.on('dblclick', function() {
alert('You double click the editor');
});
您可以在documentation中找到所有可用活动的列表。
答案 1 :(得分:1)
在getWrapperElement()方法返回的元素上注册处理程序。除非您不仅要检测双击,还要防止默认(鼠标光标下选择单词)发生......在这种情况下,我想需要对核心代码进行一些修改。
答案 2 :(得分:0)
由于codemirror在指定的元素内部呈现,您可以向元素添加ondblclick事件,如下图所示,双击单击时,不带行号的突出显示器特定元素将显示行号
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]);
}