3

私は自分のページにライトボックスのような単純なオーバーレイを書きますが、とにかく他のことをするつもりです。このテストでの私のより大きな問題は...オーバーレイマスクをクリックするとオーバーレイが閉じることです...しかし、もしあなたがオーバーレイ内のコンテンツ div のように、子 div をクリックします。オーバーレイは開いたままにしておく必要があります.. (そうではなく、それが問題です)

http://jsfiddle.net/7Cr2V/

「overlayfull」の子divをクリックした場合、overlayfullを閉じたり非表示にしたりしないでください...これが私のコードです..そして、確認したい場合は、上記のjsフィドルが私の英語ですひどい。

$('div.vidreveal a').click(
            function(event) {
                event.stopPropagation();
                $('div.videoquon').fadeToggle(300);
                                $('div.overlayfull').fadeToggle(300);
            }
        );

        
$('div.my-video-close').click(
            function(event) {
                event.stopPropagation();
                $('div.videoquon').fadeToggle(300);
                                $('div.overlayfull').fadeToggle(300);
            }
        );

$('div.overlayfull').click(
            function(event) {
                event.stopPropagation();
                                $('div.videoquon').fadeToggle(300);
                                $('div.overlayfull').fadeToggle(300);
            }
        );
4

4 に答える 4

1

伝播の停止は親要素に対してのみ機能し、アクティブな要素自体は停止しません。テキストをクラスで囲み、それをクリックすると false を返すことができます

<div id='my-video'></div>
    <div class="message">CLIC HERE MUST NOT CLOSE THE OVERLAY</div>
</div>

if (event.target.className === 'message')
                    return false;

http://jsfiddle.net/59trN/

于 2013-06-17T20:52:05.693 に答える