3 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
此時(shí),您正在調(diào)用函數(shù),頁面的其余部分尚未呈現(xiàn),因此該元素當(dāng)時(shí)不存在。嘗試調(diào)用您的函數(shù)window.onload。像這樣:
<html>
<head>
<title></title>
<script type="text/javascript">
window.onload = function(){
var refButton = document.getElementById("btnButton");
refButton.onclick = function() {
alert('I am clicked!');
}
};
</script>
</head>
<body>
<form id="form1">
<div>
<input id="btnButton" type="button" value="Click me"/>
</div>
</form>
</body>
</html>

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
您需要將JavaScript 放在body標(biāo)簽的末尾。
它找不到它,因?yàn)樗辉贒OM中!
您也可以將其包裝在onload事件處理程序中,如下所示:
window.onload = function() {
var refButton = document.getElementById( 'btnButton' );
refButton.onclick = function() {
alert( 'I am clicked!' );
}
}

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊
因?yàn)閳?zhí)行腳本時(shí)瀏覽器尚未解析<body>,所以它不知道存在具有指定ID的元素。
嘗試以下方法:
<html>
<head>
<title></title>
<script type="text/javascript">
window.onload = (function () {
var refButton = document.getElementById("btnButton");
refButton.onclick = function() {
alert('Dhoor shala!');
};
});
</script>
</head>
<body>
<form id="form1">
<div>
<input id="btnButton" type="button" value="Click me"/>
</div>
</form>
</body>
</html>
請(qǐng)注意,您也可以使用addEventListener而不是window.onload = ...使該函數(shù)僅在整個(gè)文檔被解析后才執(zhí)行。
添加回答
舉報(bào)