jQuery関数を記述して、クリックしてdivを表示/非表示にしようとしています。.toggle()を使用して、クリックしたときにdivを表示および非表示にする
<a>
タグのクラスはmy-button
です。 my-div
クラスのdivは、最初にページが読み込まれるとdisplay: none
で非表示になります。ユーザーがmy-button
とmy-div
をクリックした場合、私はmy-div
と表示したいと考えています。 my-div
が表示されている場合、ユーザーがmy-div
以外のページのどこかをクリックしたときに非表示にしたいと考えています。これには、my-button
のクリックも含まれます。
<a class="my-button">Click me!</a>
<div class="my-div">Show Me or Hide Me!</div>
私は.toggle()
機能を何も使用せずに使用しようとしました。 my-button
をクリックした後にmy-div
は表示されません。 .toggle()
を.show()
に置き換えた場合、my-button
を再度クリックしても、ページ上のどこかをクリックすると、my-div
が表示され、非表示になります。
$(document).mouseup(function(e) {
var $container = $(".my-div");
$(".my-button").click(function(){
$container.toggle();
});
if (!$container.is(e.target) && $container.has(e.target).length === 0) {
$container.hide();
}
});
私が望むものを達成するための最良の方法は何でしょうか。