要获取被点击的元素的最高父元素,可以使用以下步骤:
event.target
属性获取被点击的元素。element.parentNode
属性获取被点击元素的父元素。以下是一个示例代码:
// 给需要添加事件侦听器的元素添加点击事件监听器
const element = document.getElementById('your-element');
element.addEventListener('click', handleClick);
function handleClick(event) {
// 获取被点击的元素
const clickedElement = event.target;
// 获取被点击元素的父元素
let parentElement = clickedElement.parentNode;
// 循环查找最高父元素
while (parentElement !== null && !parentElement.hasAttribute('data-listener')) {
parentElement = parentElement.parentNode;
}
// 最高父元素
const highestParentElement = parentElement;
// 打印最高父元素
console.log(highestParentElement);
}
在上述代码中,我们假设最高父元素具有一个名为data-listener
的自定义属性,用于判断是否添加了事件侦听器。你可以根据实际情况修改这个判断条件。
这种方法可以适用于任何前端开发框架或纯JavaScript环境。
领取专属 10元无门槛券
手把手带您无忧上云