2016-09-19 87 views
-1

我想創建一個下拉菜單,當我點擊它時消失。 我嘗試過使用e.stopPropagation();但沒有喜樂。那是什麼其他所有的論壇帖子似乎暗示..下拉菜單隱藏,當我點擊離開

這裏是我的JS:

$(document).ready(function() { 
$("button").click(function() { 
    $(".content1").toggleClass("active"); 
}); 


$(".burger").click(function() { 
    $(".lmao").toggleClass("show"); 
     event.stopPropagation(); 
}); 

}); 

感謝。

+0

http://stackoverflow.com/questions/152975/how-to-detect-a-click-outside-an-element –

+0

仍然需要它幫助:/ –

+0

顯示更多的代碼 –

回答

0

從上面的代碼中,我假設$(「。lmao」)是您的下拉菜單的選擇器。

首先,你這樣做:

//you had forgotten to pass event in your handler before 
$(".burger").on("click", function(event) { 
    $(".lmao").toggleClass("show"); 
    event.stopPropagation(); 
}); 

然後,你需要建立一個事件處理程序的文件,檢查天氣,你在你的下拉菜單或您的下拉列表中,像這樣點擊:

$(document).on("click", function(event){ 

    //if the click event didn't come from an element inside .lmao 
    if($(event.target).closest(".lmao").length === 0){ 
      $(".lmao").removeClass("show"); 
    } 
} 
0

因此,除了下拉菜單以外,所有元素都包含一個具有特定ID的元素,如果用戶單擊此ID,下拉菜單將被隱藏。

或者:

$('body').click(function(e){  
    if(e.target.id !== "dropdownMenu") { 
     $("#dropdownMenu").toggleClass("hide"); 
    } 
});