ユーザーが特定のdivをクリックすると、メニューを表示する関数を作成する必要があります。ユーザーが特定のdivを除いてウェブサイトのどこかをクリックすると、それを隠す必要があります。例jQueryは1つの要素を除いてすべてを選択します
<div class="showMeHideMe" style="display:none;">Example</div>
<div class="showIt">Show it!</div>
そして、私はJavaScript
jQuery('.showIt').click(function(){
$('.showMeHideMe').show();
});
jQuery(document).not('.showMeHideMe').click(function(){
$('.showMeHideMe').hide();
});
については
私は.showIt、everyting細かい作業と.showMeHideMeが表示されている上でクリックした場合。それから私がページのどこかをクリックすると、.showMeHideMeは隠れています。またOK。しかし、それが表示され、私が.showMeHideMeをクリックすると、それは隠れる。どちらが間違っている。
私が間違っていることを教えてもらえますか?
UPDATE
非常に高速な応答をありがとうございました。
私は修正する必要があるページに正確に表示する方が良いでしょう。今、私のコードは次のようになりますと、このまた
jQuery(".search--box").hide();
jQuery(".desktop-search").mouseenter(function (e) {
e.stopPropagation();
jQuery(".search--box").show();
jQuery(".search--box--input").focus();
});
jQuery(document).not('input.search--box--input').click(function (e) {
e.stopPropagation();
jQuery(".search--box").hide();
});
バリアントを処理する必要があり
<div class="search--box">
<div class="search--box-inner">
<form role="search" method="get" id ="searchform" action="">
<input class="search--box--input" name="s">
</input>
</form>
</div>
</div>
とJavaScript:、代わりに.NOTの()に動作していないではないが。まだ入力をクリックすると、まだ隠れています。
は実際に、私はdiv要素が表示されていることを問題を持っていけないため使用可能である可能性があります。しかし、1つの特定のdivを除いて何かをクリックするとhide triggerを実行する必要があります。 –