jQuery(window).load()在IE中无法正常工作,特别是在IE 8及以下版本中。完全加载窗口后我需要调用一个方法。
但是在IE中,窗口显示在执行jQuery(window).load()中给出的函数之后。
.
.
.
.
</body>
<script language="javascript">
jQuery(window).load(function(){
renderEditNView();
});
</script>
</html>
即使加载方法中的警报显示在窗口加载之前。我该如何解决?
答案 0 :(得分:2)
试试这个我希望它也适用于你的浏览器
$(window)[0].onload = (function(){alert('done');});
javascript:
window.onload = (function(){alert('done');});
注意:即使您的代码正在使用chrome和jQuery 1.9.1!
答案 1 :(得分: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>
答案 2 :(得分:1)
参见文件http://api.jquery.com/load-event/
通常,没有必要等待所有图像完全加载。如果代码可以更早地执行,通常最好将它放在发送到.ready()方法的处理程序中。
答案 3 :(得分:1)
尝试将script
代码放在body
标记内(例如最后)。如果renderEditNView
正在更改DOM ...
有关详细信息,请参阅此question
答案 4 :(得分: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?
出于这个原因,我认为这两个选项都不对。
我无法使用插件。
我正在使用Internet Explorer 8.(我不能使用导航器)
我在这个问题中写道,因为它与我们正在寻找的非常相似。