【发布时间】:2013-12-17 21:59:13
【问题描述】:
jQM 1.3,Cordova,iOS
每次我触发一个tap事件并且该事件调用的函数包含一个alert,它会被调用两次。
在这里,这将调用alert,当我按下“确定”并尝试点击/滚动应用程序上的其他任何位置时,将显示第二个alert:
$(document).on('tap', '#mydiv', function(event) {
event.preventDefault();
alert('Tapped.');
return false;
});
如果我这样做,#result 将只包含“Tapped”,它应该是这样的。
$(document).on('tap', '#mydiv', function(event) {
event.preventDefault();
$('#result').append('Tapped');
return false;
});
我真的不需要alerts。只是为了调试。
但是我很好奇为什么会发生这种行为。
这是为什么? 如何解决?
谢谢。
【问题讨论】:
-
Console.log 的行为方式是否相同?您是否将这些事件绑定到任何页面事件?
-
没试过控制台,因为我需要添加插件,之后总是忘记删除它。不,即使我只在
<head>中放置了没有任何其他内容的点击事件,它也会被触发两次。 -
试试
touchstart事件。 -
@Omar
touchstart有效。警报仅触发一次。但我注意到关闭警报后滚动被“困住”,并且页面总是需要 2 次推动才能再次滚动(第一个滚动被“忽略”)。 -
删除
preventDefault()和rerun false。您也可以使用vclick、click和touchend。
标签: ios jquery-mobile cordova