簡體   English   中英

停止對Twitter Bootstrap的下拉列表進行復制

[英]Stop progation for twitter bootstrap's dropdown

我要防止在單擊下拉菜單的菜單項后關閉它們。 這是我在做什么:

 $(document).ready(function() {
      $(document).on("click", ".dropdown-menu li", function(event){
        debugger; // it stops here though
        event.stopPropagation();
      });
 });

但在下拉菜單中單擊任意菜單項后,它們將關閉。 我究竟做錯了什么?

PS我必須使用$(document).on("click", ".dropdown-menu li" ,因為此下拉列表是由ajax動態構建的。

如果將處理程序綁定到document ,則該事件將一直向上移動到頂部,並且將觸發關閉菜單的事件處理程序。 您需要將處理程序綁定到被單擊的元素,並在要到達Bootstrap處理程序之前捕獲該元素,以使其停止在此處傳播。

$('.dropdown-menu li').on('click', ...)

您可以這樣寫:

$(".dropdown-menu li").on("click", function(event){
 event.stopPropagation();


 });

由於某種原因,只有此解決方案有效

$(document).ready(function() {
  $(".dropdown-menu").on("click", "li", function(e){
    e.stopPropagation();
    });
  });

有人知道為什么嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM