js多種監聽事件方式的區別


js多種監聽方式的區別

本文只說區別,詳細學習參考下面的文檔
參考文檔1
參考文檔2

在js中,監聽事件的方式有兩種,以 點擊事件 舉例,分別為:

方式一:
window.addEventListener('click', clickHandler, false);

方式二:
window.onclick = clickHandler;

區別

  1. 方式一可以指定事件觸發的階段(捕獲階段還是冒泡階段),方式二不行
  2. 方式一可以為每個事件指定多個回調函數;方式二只能為每個事件指定一個回調函數,后指定的回調函數會會覆蓋之前的回調函數

區別一很直觀的就可以看出來,下面舉例證明第二個區別

  1. onresize 多次監聽窗口大小變化的事件,當窗口大小發生變化時,只會執行最后指定的回調函數,打印 456
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<script>
   window.onresize = () => {
     console.log(123)
   }
    window.onresize = () => {
    console.log(456)
  }
</script>
</body>
</html>
  1. addEventListener 多次監聽窗口大小變化的事件,當窗口大小發生變化時,會執行每次指定的回調函數,打印 123 456
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<script>
  window.addEventListener("resize", () => {
    console.log(123)
  })
  window.addEventListener("resize", () => {
    console.log(456)
  })
</script>
</body>
</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM