当前位置:首页 > 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

事件委托模式

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

js实现监听

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触发。

js实现监听

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 }选项使事件处理函数仅执行一次后自动移除。

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

标签: js
分享给朋友:

相关文章

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码 funct…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…