2011-10-11 63 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(); 
    } 
});