如何简化 javascript 事件侦听器?

布罗尼科夫斯基

我想要实现的是,当鼠标悬停在 id="a" 的 li 上时,会出现对应的 id="aa" 的 ul。我有这个 html 代码:

<ul>
  <li id="1">Option1</li>
  <li id="2">Option2</li>
</ul>
<ul id="11">
  <li>Option1.1</li>
  <li>Option1.2</li>
</ul>
<ul id="22">
  <li>Option2.1</li>
  <li>Option2.2</li>
</ul>

和这个 javascript 代码:

for (i=1; i<3; i++) {
  var fn = (function(i) {
    var li = document.getElementById(i);
    var ul = document.getElementById("" + i + i);
    li.addEventListener("mouseover", function() {
      ul.style.opacity = "1";
    }, false);
  })(i);
}

它按预期工作,但用户 Jordan Gray在这里表示可以摆脱循环,而是为所有列表项创建一个事件侦听器 - 这就是我想在这里实现的目标。不幸的是,我不明白他的代码,如果有人能向我解释或提出解决方案,我将不胜感激。

米兰切达

以下是在代码中使用该逻辑的方法:

var ul = document.getElementById('ul-id');

ul.addEventListener('mouseover', function(e) {
  
  if (e.target.nodeName.toUpperCase() !== "LI") return;
  document.getElementById("" + e.target.id + e.target.id).style.opacity = "0.6";
});
<ul id="ul-id">
  <li id="1">Option1</li>
  <li id="2">Option2</li>
</ul>
<ul id="11">
  <li>Option1.1</li>
  <li>Option1.2</li>
</ul>
<ul id="22">
  <li>Option2.1</li>
  <li>Option2.2</li>
</ul>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使 JavaScript 事件侦听器减少重复?

来自分类Dev

如何在 JavaScript 中停用 beforeunload 事件侦听器

来自分类Dev

Javascript事件侦听器

来自分类Dev

如何将事件侦听器添加到JavaScript中的许多按钮?

来自分类Dev

如何为JavaScript中的任何对象实现事件侦听器

来自分类Dev

如何通过JavaScript将事件侦听器添加到body元素?

来自分类Dev

如何从JavaScript中的多个元素中删除事件侦听器?

来自分类Dev

如何使用Javascript验证和PHP处理事件侦听器

来自分类Dev

如何在Java或JavaScript中为事件侦听器提供对象池

来自分类Dev

如何将事件侦听器添加到JavaScript中的许多按钮?

来自分类Dev

如何防止在 vanilla javascript 中的事件侦听器中重复?

来自分类Dev

如何取消侦听器中的自定义 javascript 事件?

来自分类Dev

JavaScript事件侦听器测验

来自分类Dev

Javascript事件侦听器和数组

来自分类Dev

Javascript删除“焦点”事件侦听器

来自分类Dev

javascript DOMContentLoaded事件侦听器

来自分类Dev

Javascript 事件侦听器未触发

来自分类Dev

事件侦听器 onkeydown 问题 Javascript

来自分类Dev

Javascript - classList 事件侦听器的问题

来自分类Dev

如何从第三方JavaScript跟踪和分析中删除或阻止事件侦听器?

来自分类Dev

如何在事件侦听器中将父节点与其所有子节点相关联?jQuery / JavaScript

来自分类Dev

如何使用事件侦听器单击功能使用 javascript 显示和隐藏数组中的图像

来自分类Dev

使用添加事件侦听器创建滚动事件 - Javascript

来自分类Dev

如何在会话和路由器侦听器之间注册事件侦听器?

来自分类Dev

JavaScript事件侦听器未添加到按钮

来自分类Dev

javascript事件侦听器,用于语法和内部错误

来自分类Dev

更新或更改或删除/重置Javascript事件侦听器

来自分类Dev

无法删除事件侦听器TypeScript / OOP JavaScript

来自分类Dev

IE11忽略javascript matchMedia事件侦听器

Related 相关文章

  1. 1

    如何使 JavaScript 事件侦听器减少重复?

  2. 2

    如何在 JavaScript 中停用 beforeunload 事件侦听器

  3. 3

    Javascript事件侦听器

  4. 4

    如何将事件侦听器添加到JavaScript中的许多按钮?

  5. 5

    如何为JavaScript中的任何对象实现事件侦听器

  6. 6

    如何通过JavaScript将事件侦听器添加到body元素?

  7. 7

    如何从JavaScript中的多个元素中删除事件侦听器?

  8. 8

    如何使用Javascript验证和PHP处理事件侦听器

  9. 9

    如何在Java或JavaScript中为事件侦听器提供对象池

  10. 10

    如何将事件侦听器添加到JavaScript中的许多按钮?

  11. 11

    如何防止在 vanilla javascript 中的事件侦听器中重复?

  12. 12

    如何取消侦听器中的自定义 javascript 事件?

  13. 13

    JavaScript事件侦听器测验

  14. 14

    Javascript事件侦听器和数组

  15. 15

    Javascript删除“焦点”事件侦听器

  16. 16

    javascript DOMContentLoaded事件侦听器

  17. 17

    Javascript 事件侦听器未触发

  18. 18

    事件侦听器 onkeydown 问题 Javascript

  19. 19

    Javascript - classList 事件侦听器的问题

  20. 20

    如何从第三方JavaScript跟踪和分析中删除或阻止事件侦听器?

  21. 21

    如何在事件侦听器中将父节点与其所有子节点相关联?jQuery / JavaScript

  22. 22

    如何使用事件侦听器单击功能使用 javascript 显示和隐藏数组中的图像

  23. 23

    使用添加事件侦听器创建滚动事件 - Javascript

  24. 24

    如何在会话和路由器侦听器之间注册事件侦听器?

  25. 25

    JavaScript事件侦听器未添加到按钮

  26. 26

    javascript事件侦听器,用于语法和内部错误

  27. 27

    更新或更改或删除/重置Javascript事件侦听器

  28. 28

    无法删除事件侦听器TypeScript / OOP JavaScript

  29. 29

    IE11忽略javascript matchMedia事件侦听器

热门标签

归档