在页面加载后调用函数是否有不同于window.onload=function;
或<body onload="function();">
的选项。
我在网上找到的脚本满足了我的需求,但它覆盖了window.onload
,因此这阻止了我使用原生window.onload
。
还有其他选择吗?
答案 0 :(得分:2)
我有同样的问题,但是当我删除括号时,该功能可以正常工作。
替换
window.onload = loadPage();
与
window.onload = loadPage;
function loadPage() {
if (document.getElementById("testElement").value)
alert('whew');
}
它有效。
答案 1 :(得分:1)
请改用addEventListener。不幸的是它在IE中不起作用,但你也可以通过实现attachEvent来解决这个问题。
window.addEventListener('load', function (){
alert('Function #1');
});
window.attachEvent('onload', function (){
alert('Function #1');
});
答案 2 :(得分:1)
不是替代方案,而是一种解决方法,是的。
如果你在网上找到的脚本(FOTN)创建了onload
,那么就这样创建你自己的<html>
<body>
<script type="text/javascript">
window.onload = function(){ console.log("FOTN"); }
</script>
<script type="text/javascript">
var a = window.onload;
window.onload = function(){
console.log("Handling before FOTN");
a();
console.log("Handling after FOTN");
}
</script>
</body>
</html>
,如下所示:
onload
要求是在最后定义{{1}}。
答案 3 :(得分:0)
你可以有多个onLoad函数,所以这应该不是问题。
答案 4 :(得分:0)
这将立即执行function()
并将函数的返回值分配给window.onload
。这通常不是您想要的。 function()
必须为此返回一个函数。
答案 5 :(得分:-1)
为了让您的生活轻松,请抓住JQuery并使用document.ready函数执行您想要在window.onload中运行的逻辑。
答案 6 :(得分:-1)
这是一个不能替代的工作。
添加
<head>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
</script>
</head>
使用
$(document).ready(function(){
//some code here
});