jQuery Mobile:页面事件触发的顺序是啥?

Posted

技术标签:

【中文标题】jQuery Mobile:页面事件触发的顺序是啥?【英文标题】:jQuery Mobile : What is the order of page events triggering?jQuery Mobile:页面事件触发的顺序是什么? 【发布时间】:2012-12-10 05:08:42 【问题描述】:

我必须为应用程序快速构建原型,我想知道在哪里插入各种应用程序逻辑。

您能否在使用 PhoneGap 和 jQueryMobile 时迭代事件及其触发顺序?

如果能清楚地了解以下事件/顺序,那就太好了:

答:当您第一次打开应用程序时。 B:当你换页时(我猜有些事件不会发生 不再)。 C:当您“最小化”应用程序时(例如:当您单击应用程序中的链接时 这会带您发送短信/通话,或者您只需按下设备的主页按钮)。 D:当您恢复应用时(例如:点击“返回”按钮,或者只是 以某种方式“最大化”它)。

【问题讨论】:

【参考方案1】:

简介

在这里找到的所有信息也可以在我的博客ARTICLE 中找到,您还可以找到工作示例。

- A:初始化

A1 - 使用 deviceReady 事件初始化 Phonegap 应用程序/框架。

例子:

document.addEventListener("deviceReady", yourCallbackFunction, false);

function deviceReady() 


更多关于暂停甚至可以在这里找到:http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html

A2 - 使用 mobileinit 事件初始化 jQuery Mobile 应用程序/框架。

例子:

$(document).on("mobileinit", function () 

);

如何检查两个框架是否加载成功:https://***.com/a/12821151/1848600

- B:换页

首先可以在这里找到所有事件:http://jquerymobile.com/test/docs/api/events.html

假设我们有一个页面 A 和一个页面 B,这是一个卸载/加载顺序:

1. page B - event pagebeforecreate

2. page B - event pagecreate

3. page B - event pageinit

4. page A - event pagebeforehide

5. page B - event pagebeforeshow

6. page A - event pageremove

7. page A - event pagehide

8. page B - event pageshow

- C:最小化应用程序

Phonegap 通过 pause 事件来处理这个问题。

例子:

document.addEventListener("pause", yourCallbackFunction, false);

更多关于暂停甚至可以在这里找到:http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html

- D:恢复应用

Phonegap 使用 resume 事件处理此问题。

例子:

document.addEventListener("resume", yourCallbackFunction, false);

更多关于暂停甚至可以在这里找到:http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html

- 最后的话

还有一些其他的 phonegap 和 jQM 事件,您可以在上面提到的链接中找到它们。

你不应该在 jQM 应用程序中使用的东西:

$(document).ready(function()

);

原因:

在 jQuery 中学习的第一件事是在 $(document).ready() 函数,所以一切都会在 DOM 已加载。然而,在 jQuery Mobile 中,Ajax 用于加载 导航时将每个页面的内容放入 DOM,并且 DOM 准备就绪 处理程序仅对第一页执行。每当一个 新页面加载并创建后,您可以绑定到 pageinit 事件。 此事件在本页底部有详细说明。

【讨论】:

谢谢你,Gajotres!这很全面。 没问题m8,我很乐意帮忙:)

以上是关于jQuery Mobile:页面事件触发的顺序是啥?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Mobile 事件

jQuery Mobile 页面加载事件委托 javascript 触发两次

Jquery Mobile:“pageshow”事件仅在 Shift F5(完全重新加载)时触发,但在加载另一个页面或具有不同查询的同一页面时不会触发

Gridview 行命令事件未使用 jquery mobile 触发

jQuery Mobile Slider 禁用点击事件

jQuery Mobile 可折叠“展开”事件未在 Cordova 应用程序中触发