Dan*_*Tao 19 jquery document-ready jquery-mobile
假设我想在jQuery Mobile完成渲染UI后运行一些代码.该mobileinit
事件不会工作,因为它提出了之前发生这种情况.快速谷歌搜索似乎表明,简单使用$(document).ready
将无法与JQM一起使用; 但我只是尝试了它(后面称之为mobileinit
)并且它对我有用:我的代码运行并动态更新元素等等.所以我想知道,是否有一些原因我不应该使用它(它不可靠或混淆JQM),或者那里有关于它的信息根本不准确?我错过了什么?
更新:请参阅此处进行演示.
Jas*_*per 12
很可能是你读到$(document).ready无法与jQuery Mobile一起工作的原因是每次查看伪页面时它都不会触发.也就是说,它仍然会在加载html文档时触发.
如果要运行每次查看伪页面时触发的代码,可以使用以下代码:
$('[data-role="page"]').live('pageshow', function () {
//run your code here
});
Run Code Online (Sandbox Code Playgroud)
注意:还可以绑定其他钩子(pageshow,pagehide,pagebefoershow,pagebeforehide),文档可以在这里找到:http://jquerymobile.com/demos/1.0b1/docs/api/events.html
----------编辑----------
我正在考虑这个和$(document).ready()的最佳模拟不绑定到"pageshow"事件,它将绑定到"pagecreate"事件.$(document).ready()每页加载时触发一次,"pagecreate"对伪页面执行相同操作,而每次页面显示时都会触发"pageshow".
因此,如果用户点击远离主屏幕然后点击后退按钮返回主屏幕,则"页面显示"将在第二(以及随后)"显示"主屏幕时触发.
此外,"pageshow"要求用户导航到其绑定的页面.
归档时间: |
|
查看次数: |
8046 次 |
最近记录: |