jQuery - $(document).ready not ready

时间:2015-08-05 07:47:17

标签: javascript jquery html firefox

我在Firefox手机中遇到了这个奇怪的问题。其他浏览器没有这个问题。

$(document).ready(function(){ alert( $(window).height()); });

此ALWAYS打印窗口的错误高度。它真的是1544px,但警报显示480px。现在,如果我在当前警报之前添加一个简单警报:

$(document).ready(function(){ alert("wait");  alert($(window).height()); });
然后突然给出了正确的高度。因此,我认为onready事件在文档实际准备好之前触发,第一个警报等待,为文档提供足够的时间准备。有谁知道如何通过这个?

编辑: $(窗口).load有同样的问题

EDIT2:我对此的看法越多,它就越奇怪。似乎在完全下载jquery文件之前触发了窗口onload事件。以下是第一个测试:http://visore.org/test/test1.html您必须在访问页面之前清除缓存数据(菜单 - >设置 - >隐私 - >立即清除)。您会注意到,如果您继续重新加载页面,有时会给出正确的高度(通常只有在清除缓存后第一次访问显示不正确的高度)。这是第二次测试,有2个警报:http://visore.org/test/test2.html这个警报总是给出正确的高度。同样,问题仅出在Firefox Android手机上。

1 个答案:

答案 0 :(得分:2)

当页面准备好被jQuery操纵时,会触发$(document).ready。 你应该使用:

$( window ).load(function() {
      alert( $(window).height());
});