0

デフォルトですでに非表示になっているトグル div を非表示にする方法を探しています。ユーザーがdivの外側をクリックすると、divを非表示にしたい!

私はこれを試しました:

<script> 
  $(document).ready(function(){ 
     $("#tab").hide();
     $("#open_tab").on("click",function(){
        $("#tab").toggle();    
        $("*").on("mouseup",function(e){
              var clicked=$(this).attr("id");
              if(clicked !="tab"){
                 e.stopPropagation();
                 $("#tab").hide();
              }
             else {
                   e.stopPropagation();
             }
        });
     });
}); </script>

しかし、コードの何が問題なのかわかりません。誰でも助けてください。

4

2 に答える 2

0

toggle()jQuery 関数:

一致した要素を表示または非表示にします。(ドキュメント)

mouseupしたがって、イベントは必要ありません。toggle()の関数を使用するだけon clickです#open_tab

HTML

<div id="open_tab">Click</div>
<div id="tab">TOGGLE</div>

Javascript

$("#tab").hide();
$("#open_tab").on("click", function () {
    $("#tab").toggle();
});

JSFIDDLE

于 2013-07-02T18:56:18.620 に答える