0

想象一下,我在页面中home.html,在那里,我有一个元素的点击事件,该元素将changePage触发user.html

好的, 中的元素home.html设置在 中header,并且在 中,我在相同的 html 位置user.html有另一个元素。

问题是:当我单击 上的元素时home.html,另一个页面中的另一个vclick事件发生了。此问题仅使用vclickor发生tap,使用正常click 工作,并且两个元素需要在两个页面中位于相同的 html 位置。

这是我绑定在 home.html 中的事件

accessProfile: function(){
    $("body").on("vclick", ".accessUser", function(){
        $.mobile.changePage("user.html");
    });
}

并且这个绑定到 user.html

accessHome: function(){
    $("body").on("vclick", ".accessHome", function(){
         $.mobile.changePage("home.html");
    });
}

这只是一个例子,所以,vclickaccessUser,然后changePage发生,但是当完成时,事件.accessHome发生并回到家中。同样,这仅在两个元素位于相同的 html 位置时才会发生。

4

1 回答 1

0

好吧,当时,我的问题已解决,将所有内容更改为 apageinit而不是$(document).ready(function(){...});并使用以下方法防止多个事件:

 $("body").on("touchstart", ".someElement", function(event){
    if(event.handled !== true){ // This will prevent event triggering more then once
        // code
        event.handled = true;
    }
    return false;
 });
于 2013-04-01T20:50:08.597 回答