Android phonegap - 在下一个屏幕上触发click事件

时间:2013-08-08 10:12:43

标签: android knockout.js cordova

我正在使用phonegap(cordova 2.8)和android 4.2.1, 我用作框架作品:淘汰赛,& jquery mobile。 该应用基于http://propertycross.com/jquery-mobile/

我得到以下有趣的行为: 当点击移动到另一个屏幕#2的按钮时, 如果在同一位置的#2屏幕中有一个按钮, 然后点击它......

我找到的唯一解决方案是使用setTimeout包装更改屏幕的代码:

            setTimeout(function() {
                application.navigateTo(viewModel);
            },600);

这解决了问题,但减慢了应用程序...

这实际上很不幸,因为手机屏幕已经太慢了......

感谢。

1 个答案:

答案 0 :(得分:0)

您可以做两件事:

1)e.stopPropagation(),e.​​preventDefault()

phopkins在此描述: jQuery mobile tap event triggered for twice

我会详细说明,因为这对我来说是个主要问题。这适用于任何点击,点击,vclick和其他可能的事件。

您的事件函数应该调用stopPropogation()和preventDefault(),如下所示:

$('#selector').tap(function(e) {
    //your code here

    e.stopPropagation();
    e.preventDefault();
});

然而,这有助于我发现你仍然可以获得幻象"点击。

2)将事件绑定到页面,而不是按钮。

这样它就不会绑定到下一页了。

例如,对于id =' myPage'以及一个id =' myBtn':

的按钮
$('#myPage').on('tap', '#myBtn', function(e) {
    //your code here

    e.stopPropagation();
    e.preventDefault();

});