這里為什么不行?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
window.onload=function(){
var bt=document.createElement("input");
bt.type="button";
bt.value="按鈕";
bt.id="btn";
document.body.appendChild(bt);
bt.style.width="160px";
bt.style.height="60px";
}
function asd(){
alert(this.value);
}
var a=document.getElementById("btn");
a.addEventListener("click",asd(),false);
</script>
</head>
<body>
</body>
</html>
如題,加粗有底線的那段無效。。。不知為何。
http://idcbgp.cn/video/2134
2016-05-23
補充:代碼執(zhí)行順序,從上到下,如果使用window.onload方法,window.onload方法最后執(zhí)行
2016-05-23
首先你要明白代碼代碼是從上倒下執(zhí)行的,但是window.onload方法的意思就是當HTML結構加載完成后執(zhí)行里面的代碼,因為你的(
var a=document.getElementById("btn");
a.addEventListener("click",asd(),false);
)
沒有加在window.onload方法里面,所以被先執(zhí)行了,但是你這里沒有input標簽,所以無法添加單擊事件。
簡而言之,就是你先添加單擊事件,再創(chuàng)建DOM節(jié)點,所以無法添加事件。
解決問題請采納,謝謝
2016-05-20
解決問題請采納,謝謝
2016-05-20
asd后面括號去掉,因為它綁定的是函數(shù)名