首页 >web前端 >js教程 >jQuery Mobile:什么时候应该使用 `pageinit` 而不是 `$(document).ready()`?

jQuery Mobile:什么时候应该使用 `pageinit` 而不是 `$(document).ready()`?

Linda Hamilton
Linda Hamilton原创
2024-12-20 00:57:09222浏览

jQuery Mobile: When Should I Use `pageinit` Over `$(document).ready()`?

jQuery Mobile:文档就绪与页面事件

了解差异

jQuery Mobile 引入页面事件来解决 $(document) 的限制.ready(),它可能会在移动页面加载之前触发,并可能导致问题。页面事件,例如 pageinit,提供了一种更细粒度的方式来执行与特定页面相关的代码。

页面事件顺序

从一个页面转换到另一个页面时,页面事件的顺序是:

  1. 卸载事件

    • 页面卸载前
    • 页面卸载
    • 页面删除
  2. 加载事件

    • pagebeforecreate
    • pagecreate
    • pageinit
  3. 显示/隐藏活动

    • pagebeforeshow
    • pageshow
    • pagebeforehide
    • pagehide

数据传递

要在页面之间发送数据,请使用 $.mobile.changePage() 函数的 data 或 url 属性。要访问接收页面上的数据,请使用 $(this).data() 或 $(this).attr("data-url") 方法。

代码组织

对于为了更好地组织代码,建议将页面初始化代码单独保存在 JavaScript 文件中。对于全局设置,请使用 mobileinit 事件。

防止页面转换

要防止基于特定条件的页面转换,请使用 pagebeforechange 事件和 e.preventDefault() 方法。

防止多个事件绑定

要防止多个事件绑定,请使用 pageinit 进行事件处理或在重新绑定之前删除事件处理程序。

页面时间

页面转换涉及加载、增强(样式化)和执行转换。转换的平均执行时间约为 670 毫秒。

页面之间的数据操作

以下是一些在页面之间操作数据的方法:

  • 方法一: 使用 dataUrl 或 data 参数$.mobile.changePage().
  • 方法 2: 使用 jQuery 插件,例如 John Bale 的 Multiple Popups。
  • 方法 3: 存储数据在 $(document) 对象中使用 $(document).data().

以上是jQuery Mobile:什么时候应该使用 `pageinit` 而不是 `$(document).ready()`?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn