2011-10-18 49 views
1

我想知道是否有辦法「扔掉」,如果這是正確的術語,或者當它發生時忽略鼠標事件。有沒有辦法繞過或扔掉鼠標事件?

例如,

說我有綁定到對象的的mouseenter和我有連接到它的特定的處理程序。有沒有辦法忽略該對象上的某些mouseenter事件,以便在這些實例期間不調用處理程序?

注:我意識到你可以用'if'語句來做到這一點,但假設我沒有訪問處理函數的權限。

+1

如果您無法訪問處理程序 - 是否可以分離原始處理程序並附加一個新的mouseenter處理程序原始處理程序?這樣你可以通過在下面的答案中使用if-helpers來激發原始處理程序。 – acme

+0

這聽起來很複雜。你究竟在做什麼*試圖做什麼? – hugomg

回答

2

只需在處理程序中放置if即可。

var fire = true; 

$('#something').click(function() { 
    if (!fire) 
     return; 
    // do fun stuff 
}); 
+0

嗨,感謝您的快速回復..但請參閱上面的註釋 –

0

是,只使用全局 「標誌」 這一點。

例如,聲明全局標誌您的代碼的頂部是這樣的:

var _ignoreMouseEnterOnce = false; 
在事件處理

現在有這樣的:

if (_ignoreMouseEnterOnce) { 
    _ignoreMouseEnterOnce = false; 
    return; 
} 

,提高標誌,無論你想:

_ignoreMouseEnterOnce = true; 
+0

檢查問題中的提示 –

相關問題