phonegap jquerymobile列表项目新闻事件

时间:2013-01-03 12:58:29

标签: jquery cordova jquery-mobile iscroll4

我的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",
            });
    });

1 个答案:

答案 0 :(得分:2)

可以像这样阻止jQM事件的发生:

  1. 假设您有一个导致事件失败的按钮,可以像这样阻止:

    $('#buttonID').on('click', function (event) {
        event.stopPropagation();
        event.stopImmediatePropagation();
    });
    
  2. 类似的解决方案:

    $('#buttonID').on('click', function (event) {
        return false;
    });
    

    此解决方案存在问题,与第1点不同.return false也可用作 preventDefault() 。有关此解决方案的更多信息,请访问here

  3. 前2个解决方案应该适用于您的情况。最糟糕的情况是,不要在第二页上绑定事件。仅在第二页pagebefore show事件中绑定它们,并在pagehide事件中再次删除它们。有关jQM事件顺序的更多信息,请参见here