0

いくつかの選択ボックスとテキスト ボックスを含むdiv .adsearch-panelがあります。divの外をクリックすると非表示にしたい。このために、私は使用しています。

$(document).on({
    mouseup:
    function(e){
        var container = $('.adsearch-panel');

        if(container.has(e.target).length === 0) {
            container.slideUp(200);
        }
    }
});  

上記のコーディングはうまく機能していますが、選択ボックスなど、その div 内の要素をクリックしても、スライドします。div または div 内の何かがクリックされた場合に表示したままにします。

これを修正するのを手伝ってください。

ありがとうございます。

4

3 に答える 3

0

LIVE DEMO

$(function(){
    $("body").on('click', function(ev) {
        var myCN = ev.target.className;
        if (myCN !== 'adsearch-panel') {
            $('.adsearch-panel').hide();
        }
    });

    $('.showAdsearch').on('click', function( e ) {
        e.stopPropagation();
        $('.adsearch-panel').show();
    });
});
于 2013-04-14T06:54:55.617 に答える
0

あなたのon方法は正しくありません。

$('document').on("mouseup", function (e) {
    var container = $('.adsearch-panel');

    if(container.has(e.target).length === 0) {
        container.slideUp(200);
    }
});
于 2013-04-14T06:44:52.847 に答える