传统移除方式

  • 事件源.onclick = null

方法监听移除

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>移除事件</title>
  8. </head>
  9. <body>
  10. <div>移除点击事件</div>
  11. <script>
  12. const div = document.querySelector('div')
  13. function click() {
  14. console.log('click')
  15. div.removeEventListener('click', click)
  16. }
  17. /*
  18. * removeEventListener(type, listener[, useCapture])
  19. * @type: 事件类型字符串,如 click, mouseover(不带 on)
  20. * @listener: 要移除的时间处理函数,不要带括号
  21. * @useCapture: 布尔值,默认 false
  22. */
  23. div.addEventListener('click', click)
  24. /* function click() {
  25. * console.log('小于 IE 9')
  26. * // detachEvent(eventNameWithOn, callback)
  27. * // @eventNameWithOn: 事件类型字符串,如 onclick, onmouseover
  28. * // @callback: 事件处理函数,事件发生时,回调函数被调用
  29. * div.detachEvent('onclick', click)
  30. * }
  31. */
  32. // div.attachEvent('onclick', click)
  33. </script>
  34. </body>
  35. </html>