两个window.onload=function()的JS文件冲突
onload
,正如您所注意到的,只能容纳一个事件处理程序。当您指定一个新的时,任何现有的都会被覆盖。
相反,使用addEventListener()
,正如名称所示,它在被调用时会添加一个侦听器。
因此
window.onload = function () { ... };
just do
window.addEventListener('load', function() { ... });
请注意,load
事件可能不是您案例中的最佳生命周期挂钩。load
位于DOMContentLoaded
之后,load
等待所有外部资产(如图像、样式表、字体等)加载。
更常见的情况是,您真正想要的是确保等到所有DOM元素都已被解析并可用。为此,DOM API具有DOMContentLoaded
事件:
window.addEventListener('DOMContentLoaded', function() { ... });
附带效果:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<script>
window.onload=function ()
{
var oDiv=document.getElementById('div1');
var value=1;
setInterval(function(){
oDiv.innerHTML=value;
value++;
if(value>9){
value=1;
}
},500);
};
</script>
<div class='text-center has-padding-lg text-tint lead ' style='color:#D9D919;font-weight:700;font-size:20px'><span style='letter-spacing:5px;'>ke361</span><span id='div1' ></span>.com<br>请记住我们的永久地址</div>
<script>
window.addEventListener('load', function()
{
var oDivv=document.getElementById('div12');
var valuew=1;
setInterval(function(){
oDivv.innerHTML=valuew;
valuew++;
if(valuew>9){
valuew=1;
}
},500);
});
</script>
<div class='text-center has-padding-lg text-tint lead ' style='color:#D9D919;font-weight:700;font-size:20px'><span style='letter-spacing:5px;'>ke361</span><span id='div12' ></span>.com<br>请记住我们的永久地址</div>
</body>
</html>
免责声明
本文仅代表作者观点,非本站立场。
本文源自网络,如有版权,联系删除。