jQuery页面/ live / bind pageinit,pageshow

时间:2013-02-01 17:50:10

标签: javascript jquery html web-applications jquery-mobile

我正在使用jQuery mobile进行应用程序,我正在尝试将userpanel中的所有页面放入一个大文件中并通过一个大的.js文件运行它。我不知道的是我是否可以这样写我的.js文件:

在加载userpanel时进行初始化

$(document).on('pageinit', function(){

});

并且如果我可以把它调用,那么某个页面将被id调用:

$("#userpanel").on('pageshow', function(){

});

在第一个内部,每个页面都是这样的:

$(document).on('pageinit', function(){

    $("#userpanel").on('pageshow', function(){

    });

    $("#*********").on('pageshow', function(){

    });

    $("#*********").on('pageshow', function(){

    });

});

依此类推,这是它的工作原理还是我误解了jQuery / JS的基本概念?如果是的话什么是好方法?

1 个答案:

答案 0 :(得分:3)

首先,不要将 page events 用作其他页面事件的子项,并不意味着这样做。在这种情况下,所有 pageshow 事件都会在没有父 pageinit 的情况下正常触发。

Here's 一个有效的 jsFiddle 示例。

要了解有关 jQuery Mobile 页面事件的更多信息,请查看此 ARTICLE ,以便更加透明,这是我的个人博客。或者可以找到 HERE

声明页面事件的正确方法如下:

$("#userpanel").on('pagebeforeshow', function(){

});

$("#userpanel").on('pageshow', function(){

});

$("#userpanel").on('pagebeforeshow', function(){

});

$("#userpanel").on('pageshow', function(){

});

$("#userpanel").on('pagebeforeshow', function(){

});

$("#userpanel").on('pageshow', function(){

});