7

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

在使用 PhoneGap 和 jQueryMobile 时,您能否迭代事件和它们触发的顺序?

对以下事件/顺序有一个清晰的了解会很棒:

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

1 回答 1

24

介绍

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

- 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 ://stackoverflow.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 通过暂停事件来处理这个问题。

例子:

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

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

- D:恢复应用程序

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

例子:

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 事件。此事件在本页底部有详细说明。

于 2012-12-23T10:42:21.617 回答