晨曦的阳光淌进窗户,给你送出我的祝福,打开手机查看,温馨,一点点爬上你的笑脸,你是快乐的,我就是幸福的,早安!
场景
我在一个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点击默认关闭事件方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。