我的Android上的phonegap应用程序有问题。当我点击一个列表项时,点按似乎会进入下一页,同时按下与我在上一页上按下的位置相同的项目。
有两种情况会发生这种情况,第一次按下列表视图项会打开一个带有子列表的页面。按下列表项的第二个打开表单。 请注意,如果我长按按项目,则不会出现此问题。
在iOS上运行应用时,这不是问题。
关于如何防止这种情况的任何想法?
编辑: 更新后点击处理程序(但仍然遭受点击):
$(parentListView).on('click', 'li', function(event) {
event.stopPropagation();
event.stopImmediatePropagation();
$.mobile.changePage("#care-plans?id=" + this.id + "&" +
"name=" + this.name, {
transition : "none",
});
});
答案 0 :(得分:2)
可以像这样阻止jQM事件的发生:
假设您有一个导致事件失败的按钮,可以像这样阻止:
$('#buttonID').on('click', function (event) {
event.stopPropagation();
event.stopImmediatePropagation();
});
类似的解决方案:
$('#buttonID').on('click', function (event) {
return false;
});
此解决方案存在问题,与第1点不同.return false也可用作 preventDefault() 。有关此解决方案的更多信息,请访问here。
前2个解决方案应该适用于您的情况。最糟糕的情况是,不要在第二页上绑定事件。仅在第二页pagebefore show事件中绑定它们,并在pagehide事件中再次删除它们。有关jQM事件顺序的更多信息,请参见here。