1

私は次のようなコードを持っています

  $(document).on("pagebeforeshow", "#Newpage", function (event) {
    $(".newtext").change( function() {
            dostuff();
        });

    });

今問題は NewPage がロードされるたびに、のバインディングです

$(".newtext").change( 関数()

発生し、複数回トリガーされます。そのため、最初にページを開くと dostuff() が1回発生し、他のページに移動して再び #Newpage に戻ると2回発生します。

4

2 に答える 2

2

これを試すことができます:

$(document).one("pagebeforeshow", "#Newpage", function (event)
于 2013-11-09T06:51:09.577 に答える
0

最初に isFirstTime 値を true に設定します。最適な場所は deviceready イベントです

window.sessionStorage.setItem("isFirstTime", true);

pagebeforeshow イベントは、読み込み前のページをセッション ストレージまたは localstorage またはそのようなローカル変数で維持する必要があるたびに発生します。

$(document).on("pagebeforeshow", "#Newpage", function (event) { $(".newtext").change( function() { if(window.sessionStorage.getItem("isFirstTime");){ dostuff(); } }); });

あなたの機能で

function dostuff(){ window.sessionStorage.setItem("isFirstTime", false); // do your code below... }

この例があなたの問題に役立つことを願っています。

于 2013-11-09T06:39:33.157 に答える