私は小さな20x20pxのdivボックスを作成しようとしています。クリックすると、最初のボックスの内側にある200x200pxのボックスが開きます。
HTML
<div id="container" style="width:20px; height:20px;">
<div id="box" style="display:none;width:200px; height:200px;">
<img src="example1.gif" />
<img src="example2.gif" />
</div>
</div>
標的
私の目的は、クリックするとフェードインするようにすること#container
です#box
。ユーザーはこのボックス内の画像をクリックすると、#box
がフェードアウトします。
#container
クリックして#box
fadeIn();
- のアイテムを
#box
クリックします #box
fadeOut()
これを行うために、私は次のjQueryを使用しています。
$(document).on("click", "#container", function(){
$("#box").fadeIn("fast");
});
$(document).on("mouseleave", "#box", function(){
$("#box").fadeOut("fast");
});
$(document).on("click", "#box img", function(){
// Do things, removed for example
$("#box").fadeOut();
});
実際に何が起こるか
これが発生するため、現時点では機能していません。
- クリック
#container
#box
フェードイン- クリック
#box img
- //何かをする、たとえば削除する
#box
フェードアウト#box
フェードイン
上記のリストの6番は発生しないはずです。ボックスは、フェードインしないはずです。
問題は、クリック.on("click", "#container", function(){
されたときにそのコードを適用することである可能性があると思いますが、どうすればこれを停止できますか?#container #box img
デモ