繁体   English   中英

检索索引ul li列表

[英]Retrieve the index ul li a list

我有一个列表,当单击该列表时,会给我它的索引。 我的问题是,第一次单击时,它并没有完全执行操作。 我必须重新单击它,然后一切正常。 但是我找不到问题。 你能告诉我我在哪里犯错吗?

这是我的清单:

<ul id="filesList">
  <li>index 1</li>
  <li>index 2</li>
  <li>index 3</li>
</ul>

非常感谢您的帮助!

这是我的代码:

filesList.addEventListener('click', function(e) {
for (var i = 0, len = filesList.children.length; i < len; i++) {
    (function(index) {
        filesList.children[i].onclick = function() {
            console.log(files[index]);
            e.stopImmediatePropagation();
        }
    })(i);
  }
});

您正在将事件侦听器添加到列表的click事件上的每个li 这意味着您必须单击一次列表才能设置每次单击项目的行为。

解决方案非常简单,您只需删除第一行和最后一行:

for (var i = 0, len = filesList.children.length; i < len; i++) {
    (function(index) {
        filesList.children[i].onclick = function() {
            console.log(files[index]);
            e.stopImmediatePropagation();
        }
    })(i);
}

然后,在代码加载时,它将为列表中的每个项目设置click事件。

更新:此javascript应该创建列表运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM