当前位置:首页 > JavaScript

js实现target

2026-02-02 08:03:50JavaScript

实现事件委托中的 target

在 JavaScript 中,event.target 用于获取触发事件的元素。事件委托是一种常见的技术,通过将事件监听器添加到父元素而不是每个子元素来提高性能。

document.getElementById('parent').addEventListener('click', function(event) {
  console.log('Clicked element:', event.target);
});

实现自定义目标元素查找

如果需要查找特定选择器匹配的目标元素,可以使用 closest() 方法向上遍历 DOM 树:

document.addEventListener('click', function(event) {
  const targetButton = event.target.closest('.btn');
  if (targetButton) {
    console.log('Button clicked:', targetButton);
  }
});

实现动态内容的目标处理

对于动态添加的元素,事件委托特别有用:

document.body.addEventListener('click', function(event) {
  if (event.target.classList.contains('dynamic-item')) {
    console.log('Dynamic item clicked:', event.target);
  }
});

实现精确的目标匹配

有时需要区分目标元素和它的子元素:

document.querySelector('.container').addEventListener('click', function(event) {
  if (event.target === this) {
    console.log('Container itself was clicked');
  } else {
    console.log('Child element was clicked:', event.target);
  }
});

实现多级目标判断

对于复杂嵌套结构,可以结合 matches() 方法进行判断:

js实现target

document.addEventListener('click', function(event) {
  if (event.target.matches('.menu > li')) {
    console.log('Top-level menu item clicked');
  } else if (event.target.matches('.menu li ul li')) {
    console.log('Submenu item clicked');
  }
});

这些方法提供了灵活的方式来处理不同场景下的目标元素获取和判断,适用于静态和动态内容。

标签: jstarget
分享给朋友:

相关文章

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js防抖和节流实现

js防抖和节流实现

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

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现授权

js实现授权

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

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <…