我正在尝试从MouseEvent
对象中获取clicked元素的索引。当我进入控制台时,单击事件对象的“ path”属性,并将鼠标悬停在第一个数组项目上,它标记了实际单击的元素。
我不知道引擎怎么知道哪个被点击了?因为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/
您可以使用Array#indexOf
上的父母子女event.target
,如果所有的元素,你可能希望有相同的父的索引。
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>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句