Добавьте ondblClick и щелкните событие в Codemirror
Я хотел бы добавить событие onDblClick в codemirror 2. Я обнаружил, что onCursorActivity не доставляет событие, поэтому я не могу из этого метода отфильтровать события. Как я могу реализовать событие onDbClick на Codemirror?
Заранее спасибо.
3 ответа
Ты можешь позвонить on
метод объекта, возвращаемого CodeMirror:
var cm = CodeMirror.fromTextArea(document.querySelector('textarea'));
cm.on('dblclick', function() {
alert('You double click the editor');
});
Список всех событий вы можете найти в документации.
Зарегистрируйте обработчик для элемента, возвращаемого методом getWrapperElement(). Если вы не хотите не просто обнаружить двойной щелчок, но и предотвратить появление по умолчанию (выберите слово под курсором мыши)... в этом случае я полагаю, что необходима некоторая модификация основного кода.
http://jsfiddle.net/yusafkhaliq/NZF53/1/
Так как 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]);
}