我有一个列表,其中包含允许用户单击的项目。单击一个项目会将用户带到详细信息页面。如果单击的速度足够快,则有可能触发两个单击事件,将用户带到一个详细信息页面,然后是另一个。有办法防止这种情况吗?例如,您可以告诉导航器在导航完成之前不要推送另一页吗?

这是在填充列表后分配点击事件的代码。

$( '#myList .item', this ).on( 'click', function() {
    navi.pushPage( "details.html" ) );
});

最佳答案

要禁用此行为,您当前可以将{cancelIfRunning: true}作为第二个参数传递给navi.pushPage。我们计划很快将其设置为默认行为,这就是为什么它是未记录的设置的原因,但是在此之前,您可以明确地调用它。

 navi.pushPage('details.html', {cancelIfRunning: true});

正如Fran Dios所提到的-有一个issue带有此设置,但应该已经在beta 6中修复了。

因此,只要您使用的是OnsenUI beta 6或更高版本,打开此设置就不会有问题。否则,您可以使用Zakaria Acharki's solution

09-15 13:04