我正在使用jQuery mobile处理应用程序,我试图将所有的页面都放在一个大的文件中,并将它们运行在一个大的.js文件中.我不知道的是,如果我可以这样写我的.js文件:
当用户面板加载时进行初始化
$(document).on('pageinit',function(){ });
$("#userpanel").on('pageshow',function(){ });
在每个页面的第一个内部:
$(document).on('pageinit',function(){ $("#userpanel").on('pageshow',function(){ }); $("#*********").on('pageshow',function(){ }); });
等等,这是如何工作的,或者我误解了jQuery / JS的基本概念?如果是什么是好办法?
解决方法
首先不要使用页面事件作为其他页面事件的孩子,没有意图像这样工作.在这种情况下,所有这些网页显示事件都会在没有父页面的情况下正常触发.
Here’s一个工作的jsFiddle示例.
要了解更多关于jQuery Mobile页面的事件,请查看这个ARTICLE,更透明的是我的个人博客.或者可以找到HERE.
所以正确的方式来声明页面事件将是这样的:
$("#userpanel").on('pagebeforeshow',function(){ }); $("#userpanel").on('pageshow',function(){ }); $("#userpanel").on('pagebeforeshow',function(){ });