为了账号安全,请及时绑定邮箱和手机立即绑定

为什么将JS插在HTML文档中起作用,而从外部引用就不起作用?求高人指点!

起作用的模式

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>事件流</title>
<script src='wrap.js'></script>
<script src='event.js'></script>
</head>
<body>
<input type="button" value="按钮" id='mybtn' />
<script type="text/javascript">
var eventFlow={ //创建一个实例
addHander:function(element,type,hander){ //创建一个方法:addEvent用来添加事件
if(element.addEventListener){
element.addEventListener(type,hander,false);
}else if(element.attachEvent){
element.attachEvent('on'+type,hander);
}else{
element['on'+type]=hander;
}
}
}
var mybtn=document.getElementById('mybtn')
eventFlow.addHander(mybtn,"click",function() {
alert('hello');
});
</script>
</body>
</html>

不起作用模式

HTML文档

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>事件流</title>
<script src='wrap.js'></script>
</head>
<body>
<input type="button" value="按钮" id='mybtn' />
</body>
</html>

JS文档

var eventFlow={					//创建一个实例
	addHander:function(element,type,hander){					//创建一个方法:addEvent用来添加事件
		if(element.addEventListener){
			element.addEventListener(type,hander,false);
		}else if(element.attachEvent){
			element.attachEvent('on'+type,hander);
		}else{
			element['on'+type]=hander;
		}
	}
}
var mybtn=document.getElementById('mybtn')
eventFlow.addHander(mybtn,"click",function() {
	alert('hello');
});

当把这些JS代码单独写在文件里引用时却不起作用了,求高人指点

正在回答

1 回答

浏览器渲染默认是从上往下顺序进行的,因此第二种外链式引入,先将JS渲染,然后渲染HTML,因此不起作用,由此,可以推知,将JS在HTML后引入可以解决,或者在JS中写上window.onload=function(){}将JS代码放在里面就可以了。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么将JS插在HTML文档中起作用,而从外部引用就不起作用?求高人指点!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信