当前位置:首页 > JavaScript

js实现监听

2026-03-15 05:59:16JavaScript

事件监听基础

在JavaScript中,监听事件主要通过 addEventListener 方法实现。该方法接受三个参数:事件类型、回调函数及可选的配置项。

element.addEventListener('click', function(event) {
  console.log('事件触发', event.target);
});

常见事件类型

  • 鼠标事件clickmouseovermouseout
  • 键盘事件keydownkeyup
  • 表单事件submitchangefocus
  • 窗口事件resizescroll

事件委托

通过父元素监听子元素事件,利用事件冒泡机制减少监听器数量。

js实现监听

document.getElementById('parent').addEventListener('click', function(event) {
  if (event.target.classList.contains('child')) {
    console.log('子元素被点击');
  }
});

移除监听

使用 removeEventListener 移除已绑定的事件,需确保回调函数为同一引用。

js实现监听

const handler = function() { console.log('仅触发一次'); };
element.addEventListener('click', handler);
element.removeEventListener('click', handler);

自定义事件

通过 CustomEvent 创建和触发自定义事件。

const event = new CustomEvent('customEvent', { detail: { data: '自定义数据' } });
element.dispatchEvent(event);
element.addEventListener('customEvent', (e) => console.log(e.detail.data));

性能优化

  • 使用事件委托减少监听器数量。
  • 对高频事件(如 scrollresize)添加防抖(debounce)或节流(throttle)。
  • 在不需要时及时移除监听器,避免内存泄漏。

兼容性处理

旧版IE(IE8及以下)使用 attachEvent 而非 addEventListener,需做兼容判断。

if (element.attachEvent) {
  element.attachEvent('onclick', handler);
} else {
  element.addEventListener('click', handler);
}

标签: js
分享给朋友:

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…