1

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

1 回答 1

2

可以像这样防止通过 jQM 事件发生故障:

  1. 假设您有一个导致跌落事件的按钮,可以像这样防止它:

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

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

    与第 1 点不同,此解决方案存在问题。 return false 也充当preventDefault()。可以在此处找到有关此解决方案的更多信息。

  3. 前 2 个解决方案应该适用于您的情况。最坏的情况,不要在第二页绑定事件。仅在显示事件之前的第二页 pagebefore 中绑定它们,并在 pagehide 事件中再次删除它们。更多关于 jQM 事件顺序的信息可以在这里找到。

于 2013-01-03T16:45:08.077 回答