まず第一に、これは冗長な質問です。しかし、私はいくつかの問題を抱えています。jquery、phpでshowとhid divを実行します。私はそれが尋ねられていることを知っているが、私はそれを働かせることはできません
簡単に言えば、show divセクションは期待どおりに動作します。それは私が失敗することを閉じるためにdivの外側をクリックする部分です。それが失敗すると、show()も機能しなくなります。
コードの概要を以下に示します。要素idに注目してください
<div>
<div id='expandmenu' ><button image to click></div>
</div>
dropcontentクラスは基本的にdisplay:noneです。
<div id='mymenu' class='dropcontent'>
<a href .... >Choice 1</a>
<a hrfe .... >Choice 2</a>
.
.
.
</div>
スクリプトファイルには次のものが含まれています。
$(document).ready(function(){
$("#expandmenu").click(function(e) {
$('#mymenu').show();
});
.
.
.
});
このコードは正常に機能し、ボタンイメージをクリックすると、メニューが期待通りに表示されます。
しかし、メニューの外側をクリックして、 "mymenu" divを閉じることができます。
私が試したほとんどのコードは、すべて失敗するため含まれていません。私の友人は私にこのコードを送信し、それがまた
$("body").not("#expandmenu").click(function() {
$('#mymenu').hide();
});
を失敗した私は、身体上のクリックがすべてに優先し、あなたがそれを開こうとする場合でも、メニューを隠すことを考えています。
シンプルな形式でご提案いただければ幸いです。私はjsのものにとても新しいです。
おかげ
JT
可能性のある重複した[私は要素の外側クリックを検出するにはどうすればよいです?](http://stackoverflow.com/questions/152975/how-do-i-detect-a- click-outside-an-element) –
コードが機能していないことを理解するために、ドキュメントをお読みください。 '$(" body ")not("#expandmenu ")'は 'expandmenu'をIDとして持たない' body'要素をすべて選択します。素子。 – Xufox