.onclick 跟 .addEventListener 的差異在哪裡呢?
.onclick
跟.addEventListener
的差異
請看以下範例說明
html:
現在有兩個按鈕,分別會示範使用.onclick
和.addEventListener
來綁定事件
1 | <input type="button" class="btnOn" value="on點擊"> |
用.onclick
綁定事件
html:
1 | <input type="button" class="btnOn" value="on點擊"> |
JS:
🎃 建立變數elOn
,並選取.btnOn
🎃 用.onclick
綁定事件
1 | var elOn = document.querySelector('.btnOn'); |
點擊「on點擊」,確實會跳出 alert
.onclick
「不能同時」綁定多個事件
當我想要「連續綁定兩個事件」
JS:
1 | // 用.onclick綁定事件 |
😢 點擊「on點擊」按鈕會發現,只會出現「on-2
」的 alert,但我明明就綁定了兩個.onclick
事件呀
原因為:
這是.onclick
的侷限–>
🎃 當我針對同一個元素,同時綁定了很多個.onclick
事件,.onclick
永遠都只會讀取「最後一個事件」,前面的事件都會「被覆蓋掉」
✅ 為了解決.onclick
的侷限,就有了一個更好的作法「.addEventListener
」
用.addEventListener
綁定事件
html:
1 | <input type="button" class="btnAdd" value="add點擊"> |
JS:
🎃 用.addEventListener
連續綁定兩個事件
1 | // 用.addEventListener綁定事件 |
✅ 就會接續跳出「第一個 alert」和「第二個 alert」了