当前位置:首页 > JavaScript

js实现on

2026-03-15 06:31:34JavaScript

on 事件监听实现

在JavaScript中实现事件监听可以通过多种方式完成。以下是常见的几种方法:

addEventListener 方法

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

直接属性赋值

element.onclick = function(event) {
  // 点击事件处理逻辑
};

HTML内联事件

js实现on

<button onclick="handleClick()">点击</button>
<script>
function handleClick() {
  // 处理函数
}
</script>

事件委托模式

对于动态元素或大量子元素,使用事件委托更高效:

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

自定义事件触发

创建和触发自定义事件:

js实现on

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

// 监听事件
element.addEventListener('customEvent', function() {
  console.log('自定义事件触发');
});

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

一次性事件监听

使用once选项让监听器只执行一次:

element.addEventListener('click', function() {
  console.log('只会执行一次');
}, { once: true });

事件对象常用属性

事件处理函数接收的事件对象包含有用信息:

element.addEventListener('click', function(event) {
  event.target;      // 触发事件的元素
  event.currentTarget; // 当前处理事件的元素
  event.preventDefault(); // 阻止默认行为
  event.stopPropagation(); // 阻止事件冒泡
});

移除事件监听

需要移除事件监听时,必须使用相同的函数引用:

const handler = function() {
  console.log('事件处理');
};

element.addEventListener('click', handler);
// 后续移除
element.removeEventListener('click', handler);

标签: json
分享给朋友:

相关文章

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现论坛

js实现论坛

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

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(f…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的J…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: fun…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…