【发布时间】:2012-09-15 09:48:16
【问题描述】:
我有一个 Phonegap 和 jQuery Mobile 应用程序,在 Android 和 Web 上运行良好。在 iOS 上,我得到了意想不到的结果,这似乎是由于我为大多数应用程序进程绑定处理程序的 document.pageinit 事件被触发了两次。
不,我没有绑定两次。不,我没有使用 document.ready。是的,我确实将它绑定到文档,在脚本的早期而不是在任何其他函数中。
$(document).on('pageinit',function(event){
alert(' Pageinit on document');
//Some more code
})
第一次触发时,启动画面仍然显示。此时,在使用 XCode 的 MacBook Pro 上进行测试时,控制台甚至不可用:当我使用 console.log 时,上面的消息没有显示在控制台中。
第二次,jQueryMobile 创建第一页后不久触发。
是什么导致了这种双重触发,我该怎么办?
编辑:我后来注意到 pageinit 不只是第二次触发,而是每次我打开一个新的 data-role='page' div 时。请参阅下面的答案。
【问题讨论】:
标签: ios cordova jquery-mobile event-handling page-init