addEventListener在&#34之后执行代码;如果"但是" else"之后不会执行代码。 (onclick显示)

时间:2017-10-01 15:54:47

标签: javascript onclick

任何人都可以向我解释为什么代码正常工作,但第二个我使用addEventListener它不会读取"显示无"

之后的功能
} else

我知道有很多代码和问题,人们会询问onclick功能。但我还没有发现为什么我必须重写代码只是因为我使用了addEventListener。

所以在这里它会打开菜单,但它不会再次关闭它,但是如果我删除addEventListener它会。

document.getElementById("menu-item-11109").addEventListener("click", myFunction);

function myFunction() {
  var x = document.getElementById('closemenu');
  if (x.style.display === 'none') {
    x.style.display = 'block';
  } else {
    x.style.display = 'none';
  }
}   

HTML

<li onclick="myFunction()" id="menu-item-11109">
<a>Opskrifter</a>
<ul id="closemenu">
<li>
<a href="https://kvalitet-extensions.dk/category/mad/">Mad og drikke</a>
</li>
</ul>

1 个答案:

答案 0 :(得分:0)

<li onclick="myFunction()" id="menu-item-11109">

你应该传递一个应该在onclick上发生的函数的引用。但是你直接调用myfunction。

解决方案:

<li onclick="myFunction" id="menu-item-11109">

这里我将对myFunction的引用传递给onclick事件。