這里為什么不行?
<!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>
如題,加粗有底線的那段無(wú)效。。。不知為何。
http://idcbgp.cn/video/2134
2016-05-23
補(bǔ)充:代碼執(zhí)行順序,從上到下,如果使用window.onload方法,window.onload方法最后執(zhí)行
2016-05-23
首先你要明白代碼代碼是從上倒下執(zhí)行的,但是window.onload方法的意思就是當(dāng)HTML結(jié)構(gòu)加載完成后執(zhí)行里面的代碼,因?yàn)槟愕模?/p>
var a=document.getElementById("btn");
a.addEventListener("click",asd(),false);
)
沒(méi)有加在window.onload方法里面,所以被先執(zhí)行了,但是你這里沒(méi)有input標(biāo)簽,所以無(wú)法添加單擊事件。
簡(jiǎn)而言之,就是你先添加單擊事件,再創(chuàng)建DOM節(jié)點(diǎn),所以無(wú)法添加事件。
解決問(wèn)題請(qǐng)采納,謝謝
2016-05-20
<!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"; //請(qǐng)把點(diǎn)擊事件加載window.onload里面 var?a=document.getElementById("btn"); a.addEventListener("click",asd,false); } function?asd(){ alert(this.value); } </script> </head> <body> </body> </html>解決問(wèn)題請(qǐng)采納,謝謝
2016-05-20
asd后面括號(hào)去掉,因?yàn)樗壎ǖ氖呛瘮?shù)名