0

jQuery(window).load() 在 IE 中无法正常工作,尤其是在 IE 8 及更低版本中。完全加载窗口后,我需要调用一种方法。

但在 IE 中,窗口也会在执行 jQuery(window).load() 中给出的函数后显示。

.
.
.
.
</body>
<script language="javascript">
jQuery(window).load(function(){
    renderEditNView();
});
</script>
</html>

甚至加载方法中的警报也会在窗口加载之前显示。我将如何解决它?

4

5 回答 5

2

试试这个我希望它也适用于你的浏览器

$(window)[0].onload = (function(){alert('done');});

javascript:

window.onload = (function(){alert('done');});

注意:甚至您的代码也在 chrome 和 jQuery 1.9.1 上运行!

于 2013-06-28T11:33:31.583 回答
1

尝试将script代码放在body标签内(例如在末尾)。renderEditNView如果正在更改 DOM ,IE 可能会遇到一些问题......

有关更多信息,请参阅此问题

于 2013-06-28T11:05:34.380 回答
1

使用$(function()内部的任何方法调用:

<script type="text/javascript">
    $(function(){
       alert('Alert box after page Completely Ready');
       renderEditNView();
    });

    function renderEditNView(){
         alert('Render Edit and View after Page Competely ready');
    }
</script>
于 2013-06-28T10:56:22.223 回答
1

请参阅文档http://api.jquery.com/load-event/

一般来说,没有必要等待所有图像完全加载。如果可以更早地执行代码,通常最好将其放在发送到 .ready() 方法的处理程序中。

于 2013-06-28T11:00:14.150 回答
0

我测试了所有提供的响应,但它们都不起作用,我试图$("#element").outerHewight();在页面加载后使用 outerHeight 并且总是返回 0,因为我需要知道填充数据后的高度。我测试的是:

<script type="text/javascript">
   // it is no working
   window.onload = (function(){alert($("#myelement").outerHeight());});

   // It is no workking
   $(window)[0].onload = (function(){alert($("#myelement").outerHeight());});

</script>

如果我没记错的话,$("#myelement").outerHeight() 应该在页面加载后返回一些值,为什么返回 0?

出于这个原因,我认为这两个 pruposed 选项都不正确。

我不能使用插件。

我正在使用 Internet Explorer 8。(我无法更改导航器)

我在这个问题中写道,因为它与我们正在寻找的非常相似。

于 2014-01-08T12:10:12.643 回答