2017-06-01 59 views
0

我有以下代碼:引導下拉菜單收盤點擊裏面

function dosomething(id, event){ 
 
event.preventDefault(); 
 
event.stopPropagation(); 
 
// dosomething 
 
}
<div class="btn-group"> 
 
    <a href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="toggle">click</a> 
 
    <ul class="dropdown-menu options_drop pull-right"> 
 
     <li><a href="javascript:void(0);" onclick="dosomething(111,event)">do some thing1</a></li> 
 
     <li><a href="javascript:void(0);" onclick="dosomething(111,event)">do some thing2</a></li> 
 
    </ul> 
 
</div>

我使用下拉下拉,但是當我點擊兩個標籤之一,下拉不會自動隱藏。 請幫我解決這個問題,

感謝所有

回答

0

另一個建議...

手柄,功能懸停,和裏面你必須元素,和事件。所以你知道你什麼時候進入鼠標,什麼時候離開鼠標。您可以使用函數屬性來保存計時器,並在需要時將其清除。

http://jsfiddle.net/blackjim/jw7Uz/3/

var handleHover = function(evObj){ 
 
    var $this = $(this); 
 

 
    if(!$this.hasClass('open')){ 
 
     return true; 
 
    } 
 

 
    if(evObj.type === 'mouseleave'){ 
 
     // on mouseleave... 
 
     handleHover.timer = setTimeout(function(){ 
 
      $this.removeClass('open'); 
 
     },2000); 
 

 
    } else if(evObj.type === 'mouseenter'){ 
 
     // on mouseenter... 
 
     if(handleHover.timer){ // find timer and clear it 
 
      clearTimeout(handleHover.timer); 
 
      delete handleHover.timer; 
 
     } 
 
    } 
 
}; 
 

 

 
$('#myDropDown').hover(handleHover);

+0

感謝支持,但不是但這不是什麼我需要 –

0

假設你想隱藏的所有立每次點擊試試這個:

$("ul li").click(function() { 
 
    $("li").hide("slow") 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="btn-group"> 
 
    <a href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="toggle">click</a> 
 
    <ul class="dropdown-menu options_drop pull-right"> 
 
     <li><a href="javascript:void(0);">do some thing1</a></li> 
 
     <li><a href="javascript:void(0);">do some thing2</a></li> 
 
    </ul> 
 
</div>

+0

感謝支持b ut not但是這不是我所需要的 –

+0

所以請解釋你需要什麼exaclty請 – SilverSurfer