$(window).load(function()事件在Safari Mobile上未触发

3

我需要在页面加载完成后运行一些JQuery代码,虽然它在桌面浏览器上工作正常,但它在Safari移动版上没有触发事件。

这是代码:

$(window).load(function() {
   //Alert('event was fired');
});

我也使用JQuery Mobile...不知道它是否与问题有关。

看一下jQM提供的事件:http://jquerymobile.com/test/docs/api/events.html - Phill Pafford
@PhillPafford jQM提供的页面事件中,是否有任何事件会等待所有资产加载完成后再触发? - Jasper
@Jasper 很好的问题,目前不确定。 - Phill Pafford
哦,这不可能做到吗?JQM上没有这样的事件。 - Satch3000
@Satch3000,你能发更多的代码吗?看到你已经发布的代码在文档中的哪个位置运行会很有帮助。 - Jasper
1个回答

2

该脚本仅在初始页面加载时触发,因为所有后续的页面转换都是基于AJAX的,并且不会触发文档准备或窗口加载事件。

根据您的要求,最接近的匹配项是JQM提供的pagechange事件。此事件在页面已加载到DOM并完成转换动画后触发。

$(document).live('pagechange',function(){
  //your logic
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接