jQuery Mobile 不会在主页中触发事件

Posted

技术标签:

【中文标题】jQuery Mobile 不会在主页中触发事件【英文标题】:jQuery Mobile doesn't fire events in home page 【发布时间】:2012-09-11 23:52:23 【问题描述】:

我有一个包含 PhoneGap 和 jQueryMobile 的项目,使用多页模板。在主页上,pageshowpageinitpagecreatepagebeforeshow 事件不会触发。我尝试了几种可能的解决方案。

解决方案 1:

$('#home').on("pageshow", function(e)  ... 

使用此解决方案,当我切换到第二页并返回主页时,会触发事件,但不是第一次加载应用程序。

解决方案 2:

var selector = ':jqmData(role=page)';
$('body').on("pageshow", selector,function(e)  ... 

我从here 获得了解决方案 2,但它对我不起作用。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

最后我找到了解决方案,首先创建另一个页面,然后使用 $.mobile.changePage('#home',transition:'none') 重定向到主页,此页面使所有初始化功能.

主页会触发所有事件。

【讨论】:

【参考方案2】:

pagebeforeshowpageshow等集合在应用启动过程中转入第一页时为空。

请注意,当第一页转换时,此集合为空 在应用程序启动期间。

阅读文档:http://jquerymobile.com/test/docs/api/events.html

【讨论】:

好的,谢谢。我读了那个 pagebeforeshow,当第一页转换时,pageshow 是空的。但是是否存在在加载第一页时或加载之前触发的任何事件? pageinitpagecreatepageload 都不起作用。

以上是关于jQuery Mobile 不会在主页中触发事件的主要内容,如果未能解决你的问题,请参考以下文章

回调不会在 JQuery Mobile 多页面中触发

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

jQuery Mobile 滑动事件不起作用

jQuery Mobile 事件

jQuery Mobile 事件

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