当前位置:首页 > JavaScript

js 实现点击

2026-02-01 06:02:13JavaScript

实现点击事件的 JavaScript 方法

基础事件监听
通过 addEventListener 绑定点击事件,适合动态元素或需要解绑的场景:

document.getElementById('button').addEventListener('click', function() {
  console.log('元素被点击');
});

HTML 内联事件
直接在 HTML 元素中定义 onclick 属性,适合简单交互:

<button onclick="alert('点击触发')">按钮</button>

事件委托
通过父元素监听子元素点击,适合动态生成的元素或批量处理:

js 实现点击

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

高级应用场景

阻止默认行为
调用 event.preventDefault() 取消元素的默认动作(如链接跳转):

document.querySelector('a').addEventListener('click', function(event) {
  event.preventDefault();
  console.log('阻止了链接跳转');
});

事件冒泡控制
使用 event.stopPropagation() 阻止事件向上传播:

js 实现点击

document.querySelector('.inner').addEventListener('click', function(event) {
  event.stopPropagation();
  console.log('事件不会触发外层监听');
});

兼容性与性能优化

移除事件监听
需要保留函数引用以便解绑:

const handler = function() { console.log('仅触发一次'); };
element.addEventListener('click', handler);
element.removeEventListener('click', handler);

被动事件提升滚动性能
标记为 passive: true 优化移动端滚动体验:

document.addEventListener('click', function() {}, {
  passive: true,
  capture: false
});

标签: js
分享给朋友:

相关文章

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 const…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js 实现跳转

js 实现跳转

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