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

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

js实现监听

标签: js
分享给朋友:

相关文章

js实现验证码

js实现验证码

实现验证码的JavaScript方法 生成随机验证码 使用Math.random()生成随机字符串,结合数字和字母: function generateCaptcha() { const cha…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的H…

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…