問題があります。onmouseoutイベントに関数を割り当てていますが、イベントを実行した後、それを削除する必要があります。よろしくお願いします。
質問する
7106 次
3 に答える
9
これはコードによって異なります。d3でこれを行った場合は、次のように言うことができます。
onmouseoutイベント内-関数:
element.on("mouseout",func);
function func(){
/*do your stuff*/
element.on("mouseout",null);
}
次のようなイベント属性を介してイベントをバインドした場合は、<div onmouseout="..." >
これをリファクタリングする必要があります。この場合、単にd3on()
関数を使用してイベントをバインドします。
複数のハンドラーを同じイベントにバインドする場合は、名前空間を使用できます。.name
イベントに追加することで、それらをより具体的にアドレス指定できます。
于 2012-09-21T16:15:20.710 に答える
0
別の方法は、jQueryを使用することです。
$(element).bind("mouseout", myFunction);
$(element).unbind("mouseout");
次のような最初のパラメータでオプションの名前空間を使用することもできます。
"mouseout.myNamespace"
この名前空間を使用すると、同じ種類の複数のイベントをバインド/アンバインドできます。
おそらくあなたにとって興味深いもう1つのこと: jQuery stopPropagation
于 2012-09-21T16:29:06.830 に答える