问答详情
源自:2-4 IE事件处理程序及跨浏览器解决

为什么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?


提问者:慕粉4199666 2016-11-10 10:08

个回答

  • Xufj
    2016-11-10 10:57:34
    已采纳

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

  • W_bobby
    2016-11-10 10:37:38

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