事件委托ul返回li的索引
事件委托是一种优化事件处理的常用技术,它允许你将事件监听器绑定到一个父元素,而不是每个子元素单独设置。这样可以减少内存消耗,并提高性能。
要使用事件委托来获取ul
中li
的索引,你可以给ul
添加一个事件监听器,然后在事件处理函数中检查事件的来源。以下是一个简单的例子:
HTML:
<ul id="myList">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<!-- ... -->
</ul>
JavaScript:
document.getElementById('myList').addEventListener('click', function(event) {
const target = event.target;
if (target.nodeName === 'LI') {
// 输出或返回索引
console.log('Clicked item index:', Array.prototype.indexOf.call(this.children, target));
}
});
在这个例子中,当用户点击ul
中的任何li
元素时,事件监听器会被触发。通过event.target
获取触发事件的元素,然后检查它是否是一个li
元素。如果是,我们就使用Array.prototype.indexOf.call
来找到该元素在其父元素ul
的children
数组中的索引,并输出或返回该索引。
评论已关闭