当前位置:首页 > JavaScript

js 监听实现

2026-03-13 20:10:20JavaScript

事件监听基础

在JavaScript中,通过addEventListener方法实现事件监听。语法如下:

element.addEventListener(eventType, callback, options);
  • eventType:事件类型(如"click""keydown")。
  • callback:事件触发时执行的函数。
  • options:可选参数(如{ once: true }表示只触发一次)。

常见事件类型

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

事件对象

回调函数接收event对象,包含事件相关信息:

js 监听实现

button.addEventListener("click", (event) => {
  console.log(event.target); // 触发事件的元素
  event.preventDefault();    // 阻止默认行为
});

事件委托

通过父元素监听子元素事件,利用事件冒泡机制:

js 监听实现

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

移除监听

使用removeEventListener移除已绑定的事件:

const handler = () => console.log("事件触发");
element.addEventListener("click", handler);
element.removeEventListener("click", handler); // 移除监听

自定义事件

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

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

性能优化

  • 对频繁事件(如scrollresize)使用防抖(debounce)或节流(throttle)。
  • 避免在循环中重复绑定事件,优先使用事件委托。

标签: js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似: func…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…