マウスのホバーをキャプチャして(しばらくの間)イベントを維持する方法はありますが、マウスが要素を通過している場合はそうではありません。そのため、イベントは、ホバーして滞在したときにのみ発生します。
5 に答える
1
setTimeout必要なコードを実行する前に遅延を作成しclearTimeout、マウスが要素を離れたときにタイマーをキャンセルするために使用できます。
var timer;
$("#example").mouseover(function() {
timer = setTimeout(function() {
console.log("time passed");
}, 1000);
}).mouseout(function() {
clearTimeout(timer);
});
上記の実例を次に示します。
于 2011-10-06T13:44:43.880 に答える
0
はい、プラグインがあります。私はほとんどすべてのホバーコードでそれを使用しています:
于 2011-10-06T13:44:09.177 に答える
0
このためだけに設計されたhoverIntentプラグインがあります。
于 2011-10-06T13:44:55.440 に答える
0
javascriptタイマーの使用を調べ、マウスオーバーするとカウントを開始します。マウスが離れたら、タイマーを停止します。タイマーはイベントをトリガーできます。マウスのオフ/リーブが発生しない場合、タイマーはホバー/ステイ機能をオフにします。
おそらくこれにもJQueryプラグインがあります。
于 2011-10-06T13:47:08.173 に答える
0
mouseenterで、500ms後にタイマーが開始します。yourFunctionが呼び出さ
れます。ユーザーが遅延する前に離れると、タイマーがクリアされるため、関数は呼び出されません。
yourElement.live({
mouseenter: function() {
t=setTimeout(function(){ yourFunction() }, 500);
}, mouseleave: function() {
clearTimeout(t);
}
});
この助けを願っています:)
于 2011-10-06T14:03:35.363 に答える