2017-03-08 6 views
0

は、私は(いくつかの実験用)Jupyterノート変数にイベントを添付しようとしています:Jupyterノート変数は常に更新されたように/ etc、私はすべてにイベントハンドラをアタッチするための最良の方法を考え$("#notebook-container").on("dblclick", ".cm-variable", function(event) { alert("hi"); });Jupyterノートブックにイベント委任を伴うイベントリスナーを添付しますか?

変数はjqueryのイベント委譲を経て次のようになります。https://learn.jquery.com/events/event-delegation/

は、「イベントの代表団は、それらの子孫が現在存在しないかで追加されているかどうか、私たちは、セレクタに一致するすべての子孫のために発生します親要素に、単一のイベントリスナーをアタッチすることができます未来。"

しかし、これは私が上記のコード行をjsコンソールに貼り付けると、適切なものだと感じました。希望の効果が得られません。

私はこれを行うための正しい方法は何か疑問に思って、あなたはここでライブjupyterのノートブックにアクセスすることができます。https://try.jupyter.org/

+0

@LouiseDavies)彼らが最初にそれを押したときに、ユーザーが自分のマウスを持ち上げていない後にクリックが発射されているので、おそらくより良いです!他のルートを試してみるために、ダブルクリックに到着する別の方法があるかどうか知っていますか? – kyphos

答えて

1

this回答に基づいて、ここにあなたがマウスダウン/のmouseupを使用して、ダブルクリックをシミュレートすることができます方法です(のmouseupがありますそれはマウスダウンで動作し、あなたが正しいです

var clicks = 0, delay = 400; 
$("#notebook-container").on("mouseup", ".cm-variable", function(event) { 
    event.preventDefault(); 
    clicks++; 

    setTimeout(function() { 
     clicks = 0; 
    }, delay); 

    if (clicks === 2) { 
     clicks = 0; 
     alert("hi"); 
     return; 
    } 
}); 
+0

ありがとう、それは完璧に動作します! – kyphos

関連する問題