在包含图像而非触发功能的Div上设置EventListener

时间:2017-03-24 09:57:21

标签: javascript html css events

我在div元素中放置了一个图像,我在其上设置了一个clicklistener,但方法onGermanFlagClicked没有执行。

<div style="position: absolute; top: 10px; padding-left: 10px;" id="de">
    <img src="https://upload.wikimedia.org/wikipedia/en/thumb/b/ba/Flag_of_Germany.svg/1280px-Flag_of_Germany.svg.png" heigth="50px" width="50px"/>
</div>

<script>
  var germanFlag = document.getElementById("de");
  germanFlag.addEventListener("onclick", onGermanFlagClicked);
  
  /* Changing language here */
  function onGermanFlagClicked(event){
    event.preventDefault();
    console.log("clicked");
  }
</script>

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

它是:germanFlag.addEventListener("click", onGermanFlagClicked); 不是germanFlag.addEventListener("onclick", onGermanFlagClicked);。看看这个。

答案 1 :(得分:0)

germanFlag.addEventListener("onclick", onGermanFlagClicked);行更改为

germanFlag.addEventListener("click", onGermanFlagClicked);
  

请注意,您没有使用&#34; on&#34;事件的前缀;使用&#34;点击&#34;而不是&#34; onclick&#34;。

here是所有有效DOM事件的列表。

Check here了解有关JavaScript HTML DOM EventListener的更多信息。