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