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

为什么script脚本只能放在button定义下面才可以执行成功?

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>

</head>

<body>
<button id="btn1">点这里</button>
<script>
var btn1=document.getElementById("btn1");
var eventUtil={
	addHandler:function(e,type,handler){
		if(e.addEventListener){
			e.addEventListener(type,handler);
			}
		else if(e.attachEvent){
			e.attachEvent('on'+type,handler);
			}
		else{
			e['on'+type]=handler;
			}
		},
	removeHandler:function(e,type,handler){
		if(e.removeEventListener){
			e.removeEventListener(type,handler,false);
			}
		else if(e.detachEvent){
			e.detachEvent('on'+type,handler);
			}
		else{
			e['on'+type]=null;
			}
		}
		}
eventUtil.addHandler(btn1,'click',ceshi);

function ceshi(){alert(123)};

</script>


</body>
</html>
//script脚本必须放在button定义下面,不理解y?


正在回答

2 回答

浏览器是从上往下执行的,如果放在button上面的话,浏览器找不到btn1的按钮,所以就不会执行给它添加的事件了

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

慕粉4199666 提问者

非常感谢!
2016-11-10 回复 有任何疑惑可以回复我~
#2

慕粉4199666 提问者 回复 慕粉4199666 提问者

刚才测试了下,如果非要加在button前边的话,可以将添加事件写在window.onload函数中就ok了,非常感谢!
2016-11-10 回复 有任何疑惑可以回复我~

浏览器是从上往下执行的。script用于定义脚本,须跟在要修饰的内容的后面。

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

慕粉4199666 提问者

刚才测试了下,如果非要加在button前边的话,可以将添加事件写在window.onload函数中就ok了,非常感谢!
2016-11-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么script脚本只能放在button定义下面才可以执行成功?

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