如何使用JavaScript在HTML元素(li)上设置click事件?

时间:2018-08-16 12:03:12

标签: javascript javascript-events addeventlistener

我在运行点击事件时遇到一些问题。 我的目的只是基本上跟踪点击事件,这很简单。对于视觉更改,我将检查我的链接之一以更改HTML文本。当我现在运行此代码时,我得到一个错误。 “ document.getElementsByTagName(...)。addEventListener不是函数”

var links = document
      .getElementsByTagName("a")
      .addEventListener("click", myFunction);

    function myFunction() {
      document.querySelector(".contact-link").innerHTML = "clicked!";
    }

2 个答案:

答案 0 :(得分:0)

您不能一次将事件监听器设置为集合的所有元素。您需要对其进行迭代,并为每个事件监听器设置事件监听器。

希望对您有帮助!

答案 1 :(得分:0)

您需要遍历所有元素,然后添加事件侦听器

var list = document.getElementsByTagName("a");

for(let i=0; i<list.length; i++) {
   list[i].addEventListener("click", myFunction);
}

function myFunction() {
    console.log("clicked");
}
<a href="#"><span class="contact-link">ABC</span></a>
<a href="#"><span class="contact-link">DEF</span></a>
<a href="#"><span class="contact-link">GHI</span></a>