1

onDblClickイベントをcodemirror2に追加したいと思います。onCursorActivityはイベントを配信しないため、このメソッドからイベントをフィルタリングする方法がないことがわかりました。CodemirrorにonDbClickイベントを実装するにはどうすればよいですか?

前もって感謝します。

4

3 に答える 3

2

onCodeMirror によって返されたオブジェクトでメソッドを呼び出すことができます。

var cm = CodeMirror.fromTextArea(document.querySelector('textarea'));
cm.on('dblclick', function() {
   alert('You double click the editor');
});

使用可能なすべてのイベントのリストは、ドキュメントにあります。

于 2013-12-05T23:34:03.913 に答える
1

getWrapperElement() メソッドによって返された要素にハンドラーを登録します。ダブルクリックを検出するだけでなく、デフォルト(マウスカーソルの下の単語を選択)が発生しないようにしたい場合を除き...その場合、コアコードの変更が必要だと思います。

于 2011-10-19T06:18:40.013 に答える
0

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]);
}
于 2013-02-20T10:50:00.283 に答える