jQuery PageBeforeShow事件绑定多次

时间:2013-11-09 06:29:55

标签: javascript jquery jquery-mobile

我的代码如下

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

    });

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

的绑定
  

$(“。newtext”)。change(function()

发生并且它被多次触发。所以如果我第一次打开页面,dostuff()会发生一次,如果我导航到其他页面并再次回到#Newpage,它会发生两次等等

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

$(document).one("pagebeforeshow", "#Newpage", function (event)

答案 1 :(得分: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... }

我希望这个例子可以帮助你解决问题。