我有一个 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 时。请看下面我的回答。