1

我有如下代码

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

    });

现在的问题是每次加载 NewPage 时,

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

发生并被触发多次。因此,如果我第一次打开页面 dostuff() 发生一次,如果我导航到其他页面并再次返回 #Newpage 它会发生两次,依此类推

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 事件发生在每次加载之前的页面需要在会话存储或本地存储或局部变量中维护时

$(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 回答