jqueryの - 遅延マウスアウトイベント
-
20-09-2019 - |
質問
マウスアウトイベントが発生する前に、jQueryのは時間の量について一定の待つようにする方法はありますか?
それはあまりにも早い時点で発射されたと私はそれがマウスを評価する前に、500ミリ秒を待つことを好むだろう。私は以下の使用しています。
コードの例$('.under-construction',this).bind({
mousemove: function(e) {
setToolTipPosition(this,e);
css({'cursor' : 'crosshair' });
},
mouseover: function() {
$c('show!');
showUnderConstruction();
},
mouseout: function() {
$c('hide!');
hideUnderConstruction();
},
click: function() {
return false;
}
});
これを行うにはjQueryの方法はありますか私はそれを自分で行う必要があります?
解決
他の関数にmouseout
内部のロジックを分割します。 mouseout
でさえsetTimeout("myMouseOut", 500)
でこの関数を呼び出します。そして、あなたは、ユーザーが新しい要素に移動した場合、タイマーをリセットするためにmouseover
でclearTimeout()
イベントを組み合わせることができます。
他のヒント
あなたは常にsetTimeout()
機能であなたのロジックをラップできます。
mouseout: function() {
setTimeout(function(){
$c('hide!');
hideUnderConstruction();
}, 500);
}
あなたは hoverIntentプラグインのは、あなたには、いくつかのVARSを定義することができますチェックアウトするかもしれませんMouseEnter /アウトの相互作用を助ける
所属していません StackOverflow