2013-04-14 34 views
0

我有一個div 。研究面板其中包含一些選擇框和文本框。我想在點擊外部時隱藏它。爲此,我正在使用;Div slidingUp問題

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

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

上面的代碼運行良好,但即使我點擊選擇框中的任何元素,如選擇框,仍然滑動。我想保持它可見,如果div或div內的任何東西被點擊。

請幫我解決這個問題。

謝謝,並關心。

回答

0

on方法是不正確的,應該是:

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

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

好,'$( '文件')'應該是'$(文件)' –

+0

謝謝你,我確實喜歡這個,但仍然和以前一樣。 – user1915190

0

我相信e.target這裏指的的document。你必須把一個stopPropagation對點擊的div:

$('.adsearch-panel').on('mouseup', function(e) { e.stopPropagation(); }); 
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(); 
    }); 
});