取消Bootstrap的dropdown-menu点击默认关闭事件方法

晨曦的阳光淌进窗户,给你送出我的祝福,打开手机查看,温馨,一点点爬上你的笑脸,你是快乐的,我就是幸福的,早安!

场景

我在一个div中生成的是一个多级列表,需要多次点击列表,找到对应的列表项,而Bootstrap默认在dropdown-menu中点击一次就会消失。

点击右侧的按钮,弹出一个多级列表

代码如下:

<div class="dropdown">
  <a rel="nofollow noopener noreferrer" href="#" rel="external nofollow" data-toggle="dropdown">
     <i class="fa fa-cog fa-2x"> </i>
  </a>
  <div class="dropdown-menu jq22-container">
     <div id="treeview" class=""></div>
  </div>
</div>

解决办法

第一步

在dropdown-menu中的需要处理的元素添加 data-stopPropagation=”true”,data-stopPropagation属性是用来对点击时停止传播事件,这样我们的点击事件就不会传播给Bootstrap.js中去了。

第二步

调用Bootstrap的stopPropagation()函数,可以阻止元素点击时停止传播事件。

我在我的代码中写的比较粗暴,对整个treeview声明一个click事件,并且全部绑定上stopPropagation()方法。

$(".treeview").on("click",function (e) {
  e.stopPropagation();
})

以上这篇取消Bootstrap的dropdown-menu点击默认关闭事件方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签: Bootstrap dropdown