如何从MouseEvent对象中获取点击元素的索引号 [英] How to get index number of clicked element from MouseEvent object

查看:0
本文介绍了如何从MouseEvent对象中获取点击元素的索引号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从MouseEvent对象中获取所单击元素的索引。当我转到控制台时,单击事件对象路径属性并悬停到第一个数组项,它会标记实际单击的元素。

我想知道引擎怎么知道哪个被点击了?因为Event.Path[0]选择器不包含被点击元素的索引号。

<div id="container">
    <div>abc</div>
    <div>abc</div>
    <div>abc</div>
    <div>abc</div>
    <div>abc</div>
    <div>abc</div>
</div>

jsfiddle:https://jsfiddle.net/9n3f7mcr/

推荐答案

如果您希望索引的所有元素都具有相同的父项,则可以对event.target的父项的子项使用Array#indexOf

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
document.addEventListener('click', function (e) {
  var target = e.target;
  var parent = target.parentNode;
  var index = [].indexOf.call(parent.children, target);
  console.log("index:", index);
});
<div id="container">
<div>1z</div>
<div>2z</div>
<div>3z</div>
<div>4z</div>
<div>5z</div>
<div>6z</div>
</div>

这篇关于如何从MouseEvent对象中获取点击元素的索引号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆