2011-10-11 57 views
0

使用CSS和jquery我做了一個下拉的東西。 (所以我可以根據我的其他網站主題)。需要關閉點擊瀏覽器中的任何地方 - jquery

我的問題是,當我點擊div列出的東西,當我點擊特定的div內關閉。否則它不關閉。它總是開放的。

它不應該總是打開。

我應該要怎麼做,如果用戶點擊之外,那麼下拉事情必須關閉或隱藏或顯示無...無論什麼....

任何想法會感激... 。

在此先感謝....

<html> 
    <head> 
     <title>JQUERY TEST</title> 
    </head> 
    <body> 
    <script type="text/javascript"> 
    Drupal.behaviors.assignment_report = function (context) { 
     $(".selectbox-list").click(clickSelect); 
     $(".custom-selectboxes-replaced-list li").click(clickSelectedItem); 
    } 

    function clickSelect() { 
     $(".custom-selectboxes-replaced-list").toggle(); 
    } 

    function clickSelectedItem() { 
     var $ul = $(this).closest('ul'); 
     var curr_ul_class = ($ul.attr('class')); // ul class 
     var curr_div_class = ($ul.prev().attr('class')); // div class 
     if(curr_ul_class == 'custom-selectboxes-replaced-list' || curr_div_class == 'selectbox-list') { 
     $(".selectbox-list").html($(this).html()); 
     $(".custom-selectboxes-replaced-list").toggle(); 
     } 
    } 
    </script> 
    <div class="selectbox-list"> 
     <div class="topic-list-two">All</div> 
    </div> 
     <ul class="custom-selectboxes-replaced-list" style="display:none"> 
      <li value=0>All</li> 
      <li value=1>Pending</li> 
      <li value=3>completed</li> 
     </ul> 
    </body> 
    </html> 
+0

檢查此問題http://stackoverflow.com/questions/6762750/close-a-menu-with-a-anywhere-click –

回答

2

這裏的概念。如果在外部任何位置點擊鼠標,Div將關閉,但如果在其內部的任何地方點擊鼠標,Div將不會關閉。

var $div = $('#div'); 
$(document.body).click(function(){ 
    if (!$div.has(this).length) { // if the click was not within $div 
     $div.hide(); 
    } 
}); 
相關問題