javascript - jQuery page on/live/bind pageinit, pageshow

标签 javascript jquery html web-applications jquery-mobile

我正在使用 jQuery Mobile 开发应用程序,我试图将用户面板中的所有页面放入一个大文件并通过一个大 .js 文件运行它。我不知道我是否可以用这种方式编写我的 .js 文件:

加载用户面板时初始化

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

});

如果我可以把这个放在某个页面上,那么当某个页面将被调用时:

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

});

在每个页面的第一个这样的页面中:

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

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

    });

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

    });

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

    });

});

等等,这是它的工作原理还是我误解了 jQuery/JS 的基本概念?如果是,有什么好的方法吗?

最佳答案

首先,不要将 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(){

});

关于javascript - jQuery page on/live/bind pageinit, pageshow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14652145/

相关文章:

javascript - 在 javascript 的更新序列中使用 mathjax

javascript - 当扩展数组映射未定义时

javascript - 从 Angular 4 中的输入类型日期添加月份至今

javascript - 如何使用 Ajax 和 Jquery 每 2 秒动态更改页面标题? (火狐浏览器无法运行?)

javascript - JQuery Ajax 是如何工作的?

javascript - 在 iOS + Javascript 上以高帧率反复交换图像?

登录时出现 JavaScript 错误

javascript - 在窗口调整大小时将具有百分比高度的背景图像转换为像素高度

javascript - 如何在 Safari 中使用 JavaScript 保存大型 (8MB) 文件?

javascript - 字符串化对象时,JSON 将元素节点转换为对象?