Jquery mobile,init绑定页面事件只有一次

时间:2014-11-04 14:49:22

标签: jquery-mobile

我正在使用jquery mobile v1.3.2

出于某些原因,我想设置一个全局pagechange事件来准备我的所有页面:

var Front = {

    initDom : function($dom) {

       // here i can bind some events in my page

       $(".someButton",$dom).bind("tap",function(){
           alert("some actions");
       });

       // etc.....

    });

}

$(document).on("pagechange", function(event, data) {     
    Front.initDom($(data.toPage));
});

这很有效。但它会在每次页面更改时触发。有时它会两次启动相同的事件,这将导致一些错误。

现在我已经通过事件pageinitpagecreate进行了测试,但两者都是在页面准备好并且$("ui-page-active");为空之前触发的。

我有一些setTimeout,但这绝对是一个坏主意。

我还要在第一个pageinit初始化所有内容并解除绑定。但是ajax称为页面不会受到限制。

它有一些很好的工作环境吗?

1 个答案:

答案 0 :(得分:1)

您可以使用pageinit然后从事件目标对象获取页面的id:

$(document).on("pageinit", function(e){
    alert(e.target.id);
});
  

<强> DEMO