gpt4 book ai didi

javascript - 如何在委托(delegate)中找到可点击元素的索引?

转载 作者:行者123 更新时间:2023-11-30 20:59:29 24 4
gpt4 key购买 nike

如何找到可点击元素的索引?单击按钮时,我需要获取 li 的索引,以便将其从数组中删除。

    var template = document.querySelector('#template');
this.element.addEventListener('click', function(e) {
if(e.target && e.target.nodeName == 'BUTTON' && e.target.className == 'remove') {
//var index = ??
//this.deleteTask(index);
}
}.bind(this));


<script id="template" type="x-tmpl-mustache">
<ul>
{{ #tasks }}
<li>{{ . }} - <button class="remove">X</button></li>
{{ /tasks }}
</ul>
</script>

最佳答案

如果您使用@index,您可以使用数据属性将其附加到按钮本身,然后使用:

var template = document.querySelector('#template');
this.element.addEventListener('click', function(e) {
if(e.target && e.target.nodeName == 'BUTTON' && e.target.className == 'remove') {
var index = e.target.dataset.index;
// or possibly e.target.getAttribute('data-index');
this.deleteTask(parseInt(index, 10));
}
}.bind(this));


<script id="template" type="x-tmpl-mustache">
<ul>
{{ #tasks }}
<li>{{ . }} - <button class="remove" data-index="{{ @index }}">X</button></li>
{{ /tasks }}
</ul>
</script>

关于javascript - 如何在委托(delegate)中找到可点击元素的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47275650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com