我对JQuery移动“tap”事件有一个真正的问题。它发射两次,我似乎无法阻止它。
问题是我有一个页面index.html,当你点击一个按钮时,你转到page2.html。问题是当你进行快速浏览时,你将转移到page2.html,然后它将再次点击该页面,这会导致严重的问题。无论如何我能解决这个问题吗?我试过返回false;但它不起作用。这是我使用的代码:
$("#read").on('tap',function()
{
$.mobile.changePage('pages/reader/reader.html');
return false;
});
更新: 经过大量的测试后,它似乎不是被触发两次的事件。看起来额外的点击是SOMETIMES跟随到另一页,所以下一页上的其他按钮被点击。这是一个严重的问题,我不能像这样发布它。
任何人都有想法为什么JQuery mobile会以这种糟糕的方式表现出来?
答案 0 :(得分:1)
我对jquerymobile没有太多经验,但这可能是eventPropagation的原因,阻止事件传播到它的父节点可能有帮助。
试试这个:
$("#read").on('tap',function(e)
{
$.mobile.changePage('pages/reader/reader.html');
e.stopPropagation();
return false;
});
答案 1 :(得分:0)
尝试:
$("#read").on('tap',function()
{
var $this = $(this);
if (!$this.hasClass("tapped")) {
$this.addClass("tapped");
$.mobile.changePage('pages/reader/reader.html');
}
});
如果您需要重新启用该按钮,只需删除Class(“tapped”),就像您可能知道的那样。