2017-10-01 2 views
0

コードは正常に動作しますが、なし "関数の後にaddEventListener "if"の後にコードを実行しますが、 "else"の後にコードを実行しません(onclickの表示)

} 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'; 
    } 
} 

あなたはonclickの起こるはずあなたの関数への参照を渡す必要があります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> 
+0

コードに起因する問題について質問するときに、人々が問題を再現するために使用できる機能的な例を提供すると、より良い回答が得られます。参照:[最小限で完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve)ありがとう! –

+0

もう一度閉じることができますか?ダニエルはそれが働いたと言っているように私は()を削除した後にすることはできません –

答えて

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

。代わりにmyfunctionを直接呼び出しています。

ソリューション:

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

は、ここで私はのonclickイベントにMyFunctionをへの参照を渡しています。

関連する問題