我想知道是否有辦法「扔掉」,如果這是正確的術語,或者當它發生時忽略鼠標事件。有沒有辦法繞過或扔掉鼠標事件?
例如,
說我有綁定到對象的的mouseenter和我有連接到它的特定的處理程序。有沒有辦法忽略該對象上的某些mouseenter事件,以便在這些實例期間不調用處理程序?
注:我意識到你可以用'if'語句來做到這一點,但假設我沒有訪問處理函數的權限。
我想知道是否有辦法「扔掉」,如果這是正確的術語,或者當它發生時忽略鼠標事件。有沒有辦法繞過或扔掉鼠標事件?
例如,
說我有綁定到對象的的mouseenter和我有連接到它的特定的處理程序。有沒有辦法忽略該對象上的某些mouseenter事件,以便在這些實例期間不調用處理程序?
注:我意識到你可以用'if'語句來做到這一點,但假設我沒有訪問處理函數的權限。
只需在處理程序中放置if
即可。
var fire = true;
$('#something').click(function() {
if (!fire)
return;
// do fun stuff
});
嗨,感謝您的快速回復..但請參閱上面的註釋 –
是,只使用全局 「標誌」 這一點。
例如,聲明全局標誌您的代碼的頂部是這樣的:
var _ignoreMouseEnterOnce = false;
在事件處理
現在有這樣的:
if (_ignoreMouseEnterOnce) {
_ignoreMouseEnterOnce = false;
return;
}
,提高標誌,無論你想:
_ignoreMouseEnterOnce = true;
檢查問題中的提示 –
如果您無法訪問處理程序 - 是否可以分離原始處理程序並附加一個新的mouseenter處理程序原始處理程序?這樣你可以通過在下面的答案中使用if-helpers來激發原始處理程序。 – acme
這聽起來很複雜。你究竟在做什麼*試圖做什麼? – hugomg