当前位置:首页 > JavaScript

js事件实现

2026-04-07 05:30:33JavaScript

事件监听与处理

在JavaScript中,事件处理是响应用户交互或系统触发的动作的核心机制。通过事件监听器,可以捕获特定事件并执行相应代码。

使用addEventListener方法绑定事件:

element.addEventListener('click', function(event) {
  console.log('元素被点击');
});

事件对象

事件触发时会自动传入事件对象(通常命名为evente),包含事件相关信息:

button.addEventListener('click', function(e) {
  console.log('坐标:', e.clientX, e.clientY);
  e.preventDefault(); // 阻止默认行为
});

事件委托

利用事件冒泡机制,在父元素上处理子元素事件:

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

常见事件类型

鼠标事件:

  • click 点击
  • dblclick 双击
  • mouseenter 鼠标进入
  • mouseleave 鼠标离开

键盘事件:

  • keydown 按键按下
  • keyup 按键释放

表单事件:

  • submit 表单提交
  • change 值改变
  • focus 获取焦点
  • blur 失去焦点

自定义事件

创建和触发自定义事件:

// 创建事件
const event = new Event('build');

// 监听事件
elem.addEventListener('build', function(e) { /*...*/ });

// 触发事件
elem.dispatchEvent(event);

事件移除

使用removeEventListener移除事件监听:

function handleClick() {
  console.log('只会执行一次');
  button.removeEventListener('click', handleClick);
}

button.addEventListener('click', handleClick);

事件传播控制

控制事件传播阶段:

js事件实现

// 捕获阶段
element.addEventListener('click', handler, true);

// 冒泡阶段(默认)
element.addEventListener('click', handler, false);

// 停止传播
function handler(e) {
  e.stopPropagation();
}

标签: 事件js
分享给朋友:

相关文章

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js实现全选

js实现全选

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

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

jquery事件

jquery事件

jQuery 事件基础 jQuery 提供了一套简化的事件处理机制,允许开发者通过简洁的语法绑定、触发和管理事件。核心方法包括 on()、off()、trigger() 等,支持常见事件(如点击、悬停…