我正在使用phonegap(cordova 2.8)和android 4.2.1, 我用作框架作品:淘汰赛,& jquery mobile。 该应用基于http://propertycross.com/jquery-mobile/
我得到以下有趣的行为: 当点击移动到另一个屏幕#2的按钮时, 如果在同一位置的#2屏幕中有一个按钮, 然后点击它......
我找到的唯一解决方案是使用setTimeout包装更改屏幕的代码:
setTimeout(function() {
application.navigateTo(viewModel);
},600);
这解决了问题,但减慢了应用程序...
这实际上很不幸,因为手机屏幕已经太慢了......
感谢。
答案 0 :(得分:0)
您可以做两件事:
1)e.stopPropagation(),e.preventDefault()
phopkins在此描述: jQuery mobile tap event triggered for twice
我会详细说明,因为这对我来说是个主要问题。这适用于任何点击,点击,vclick和其他可能的事件。
您的事件函数应该调用stopPropogation()和preventDefault(),如下所示:
$('#selector').tap(function(e) {
//your code here
e.stopPropagation();
e.preventDefault();
});
然而,这有助于我发现你仍然可以获得幻象"点击。
2)将事件绑定到页面,而不是按钮。
这样它就不会绑定到下一页了。
例如,对于id =' myPage'以及一个id =' myBtn':
的按钮$('#myPage').on('tap', '#myBtn', function(e) {
//your code here
e.stopPropagation();
e.preventDefault();
});