当前位置:首页 > JavaScript

js实现监听

2026-02-02 06:12:24JavaScript

监听事件的基本方法

在JavaScript中,监听事件主要通过addEventListener方法实现。该方法允许为特定元素绑定事件处理函数,支持多种事件类型(如点击、键盘输入等)。

element.addEventListener('eventType', function(event) {
  // 事件处理逻辑
});

常见事件类型

  • 鼠标事件click, mouseover, mouseout
  • 键盘事件keydown, keyup, keypress
  • 表单事件submit, change, focus
  • 窗口事件load, resize, scroll

事件委托模式

通过事件冒泡机制,可以在父元素上监听子元素的事件,适用于动态生成的元素。

parentElement.addEventListener('click', function(event) {
  if (event.target.matches('.child-selector')) {
    // 处理子元素事件
  }
});

移除事件监听

使用removeEventListener移除已绑定的事件处理函数,需确保移除的函数与绑定的函数是同一引用。

function handleClick() {
  console.log('Clicked');
}
element.addEventListener('click', handleClick);
element.removeEventListener('click', handleClick);

自定义事件

通过CustomEvent构造函数创建自定义事件,并配合dispatchEvent触发。

const customEvent = new CustomEvent('customEvent', {
  detail: { key: 'value' }
});
element.addEventListener('customEvent', (e) => console.log(e.detail));
element.dispatchEvent(customEvent);

被动事件监听器

添加{ passive: true }选项可优化滚动性能,避免阻塞主线程。

window.addEventListener('scroll', onScroll, { passive: true });

一次性事件监听

使用{ once: true }选项使事件处理函数仅执行一次后自动移除。

js实现监听

button.addEventListener('click', () => {
  console.log('This runs only once');
}, { once: true });

标签: js
分享给朋友:

相关文章

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js jquery

js jquery

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

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 c…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…