JQuery";轻敲;事件触发两次

JQuery";轻敲;事件触发两次,jquery,events,tap,Jquery,Events,Tap,我对JQuery移动“点击”事件有一个真正的问题。它发射了两次,我似乎无法阻止它 问题是我有一个页面index.html,当你点击一个按钮时,你会转到page2.html。问题是,当您进行快速点击时,您将移动到page2.html,然后它将再次点击该页面,这将导致严重的问题。还有什么我可以解决的吗?我试过返回错误;但它不起作用。以下是我使用的代码: $("#read").on('tap',function() { $.mobile.changePage('pages/reader/rea

我对JQuery移动“点击”事件有一个真正的问题。它发射了两次,我似乎无法阻止它

问题是我有一个页面index.html,当你点击一个按钮时,你会转到page2.html。问题是,当您进行快速点击时,您将移动到page2.html,然后它将再次点击该页面,这将导致严重的问题。还有什么我可以解决的吗?我试过返回错误;但它不起作用。以下是我使用的代码:

$("#read").on('tap',function()
{
    $.mobile.changePage('pages/reader/reader.html');
    return false;
});
更新: 在做了大量的测试之后,它似乎不是两次触发的事件。看起来,有时会在另一页上点击一个额外的按钮,以便点击下一页上的其他按钮。这是一个严重的问题,我不能这样发布

有人知道为什么JQuery mobile的行为如此糟糕吗?

试试:

$("#read").on('tap',function()
{
    var $this = $(this);

    if (!$this.hasClass("tapped")) {
        $this.addClass("tapped");
        $.mobile.changePage('pages/reader/reader.html');
    }
});

如果需要重新启用该按钮,只需删除类(“点击”),您可能知道。

我对jquerymobile没有太多经验,但这可能是事件传播的原因,停止事件传播到其父级可能会有所帮助

试试这个:

$("#read").on('tap',function(e)
{
    $.mobile.changePage('pages/reader/reader.html');
    e.stopPropagation();
    return false;
});

也许这可以在jQuery移动问题跟踪器中报告?这听起来像个bug…我见过其他人也有同样的问题…但没有解决方案。我真的不知道该怎么办。