Jquery mobile jQuery Mobile pageinit在每次页面加载时都会重新绑定

Jquery mobile jQuery Mobile pageinit在每次页面加载时都会重新绑定,jquery-mobile,Jquery Mobile,将我的绑定添加到pageinit事件,如下所示: $('#mypage').on("pageinit", function () { $('#login-sumbit').on('click', function () { console.log('button clicked'); }); }); 我希望pageinit只绑定一次click事件。但在我的单页应用程序中,每次加载页面时,按钮都会绑定,即使单击“上一步” 这会导致不需要的多个重复绑定。关于

将我的绑定添加到pageinit事件,如下所示:

$('#mypage').on("pageinit", function () {

     $('#login-sumbit').on('click', function () { 
       console.log('button clicked');
     });

});
我希望pageinit只绑定一次click事件。但在我的单页应用程序中,每次加载页面时,按钮都会绑定,即使单击“上一步”


这会导致不需要的多个重复绑定。关于在我的单页应用程序中只绑定一次的事件,以便再次加载页面返回按钮,在同一会话中加载内联页面不会重新绑定,有什么想法吗?

看起来我自己找到了答案,结果非常正确,每次加载页面时都会触发pageinit,即使页面没有从服务器重新加载,否则,当显示新页面时将触发什么

pageinit是正确的事件,但我需要使用.one而不是.on.one将只绑定一次

$('#mypage').on("pageinit", function () {

     $('#login-sumbit').one('click', function () { 
       console.log('button clicked');
     });

});
现在一切正常。更好的是,我发现您可以使用pageinit事件,它可以更好地控制绑定和数据加载,非常适合我的要求

您可以使用:

 $('#login-sumbit').off('click').on('click', function(e) {
     console.log('button clicked');
 }); 

谢谢,我想。一条是捷径。