亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

document.getElementById("myButton2").onclick = buttonAlert; 放的位置問什么會對代碼執行效果有影響

<html>

<head>

<title>onclick</title>

<script type="text/javascript">

function buttonAlert(){

alert("you clicked the button");

//document.getElementById("myButton2").onclick = buttonAlert;

//為什么把這句放外面就無效了,放在這里有效

}

document.getElementById("myButton2").onclick = buttonAlert;

//函數名后不能有括號,否則,就先執行buttonAlert()函數并賦值給onClick

</script>

</head>

<body>

<input type="button" id="myButton1" value="myButton1" onClick="buttonAlert()" />

<input type="button" id="myButton2" value="myButton2" />

</body>

</html>


正在回答

4 回答

JS是直譯型執行語言,就是按順序一句一句執行下來,你的js放在了body的前面,瀏覽器還未渲染好body時你就通過js去找一個id=myButton2的按鈕,這是找不到的。找不到還怎么添加屬性事件。然后你放在函數內部的時候,當你點擊第一個按鈕時,html文檔已經渲染好了,能找到id=myButton2的按鈕,能添加事件。所以有效

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

請叫我啊酥 提問者

非常感謝!
2016-04-12 回復 有任何疑惑可以回復我~

因為 你在給btton2 添加 onclick 時 實際先進行的添加方法并沒有找到 ID,

只要將 JS部分 放在 body? 尾部? 或者 在 JS內容上 加上? window.onload=function(){??????js?內容?????????? }就可以解決,??? 是執行順序的問題??

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

請叫我啊酥 提問者

謝謝了。
2016-04-12 回復 有任何疑惑可以回復我~

同小白,剛才試了一下,放在外部一樣好使啊。

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

請叫我啊酥 提問者

是第二個按鈕,我又試了,還是不行。
2016-04-11 回復 有任何疑惑可以回復我~
#2

面朝大海想不開 回復 請叫我啊酥 提問者

第二個按鈕 沒有行為執行函數啊。 就是第一個函數中的onclick="buttonAlert()"
2016-04-11 回復 有任何疑惑可以回復我~
#3

請叫我啊酥 提問者 回復 面朝大海想不開

但是還能通過這行代碼綁定的。 document.getElementById("myButton2").onclick = buttonAlert;
2016-04-11 回復 有任何疑惑可以回復我~

放在外面不是在函數內部啊

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

請叫我啊酥 提問者

一定要寫到函數內部才有效嗎,本人小白,剛學js,請大神說的更清楚點。
2016-04-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

document.getElementById("myButton2").onclick = buttonAlert; 放的位置問什么會對代碼執行效果有影響

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號