jQuery PageBeforeShow Event Binding Multiple Times

jQuery PageBeforeShow Event Binding Multiple Times

本文关键字:Multiple Times Binding Event PageBeforeShow jQuery      更新时间:2023-09-26

我有如下代码

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

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

$(".newtext").change( function()

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

你可以试试这个:

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

设置是第一次时间值为真,最佳位置是设备就绪事件

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... }

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