0

私がページにいると想像してくださいhome.html。そこには、要素へのクリックイベントがありchangePageuser.html

OK、 の要素は にhome.html設定されてheaderおり、 では、同じ HTML 位置user.htmlに別の要素があります。

問題は次のとおりです。上の要素をクリックすると、他のページのhome.html別のvclickイベントが発生します。この問題はvclickorを使用した場合にのみ発生しtap、使用click 正常に機能し、2 つの要素は両方のページで同じ 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");
    });
}

これは一例ですので、vclickではが発生しaccessUserchangePageが終了するとイベント.accessHomeが発生してホームに戻ります。繰り返しますが、これは両方の要素が同じ html 位置にある場合にのみ発生します。

4

1 に答える 1

0

当時、私の問題は解決され、pageinit代わりにすべてをに変更し、$(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 に答える