jQTouch有時會觸發我的點擊事件兩次,導致另一個元素(通常是鏈接)在緊接轉換後立即顯示的面板中單擊。jQTouch事件兩次觸發
此問題已經過相當廣泛的討論here但我仍然沒有很好的解決方案。在上面的一個紳士選址論壇提出下面的代碼作爲一種解決方案,但我怕因爲我使用的刷卡並點擊事件,這將不適合我:
allowClick = true;
function preventGhostClick(){
allowClick = false;
setTimeout(function(){
allowClick = true;
},800);
}
$('#element').bind('tap',function(){
if(!allowClick) return false;
app.utils.preventGhostClick();
// do stuff
});
有沒有人有這個問題的經驗和比以上更好的解決方案?非常感謝!
這基本上是正確的答案。原來我使用的是jQuery live(),在我的情況下,這導致事件監聽器被多次添加到一個對象中!每次向頁面添加新元素時,我都會使用unbind('click')bind('click')來代替這樣做。這解決了這個問題。謝謝! – morrisbret