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

场景

我在一个div中生成的是一个多级列表,需要多次点击列表,找到对应的列表项,而Bootstrap默认在dropdown-menu中点击一次就会消失。
取消Bootstrap的dropdown-menu点击默认关闭事件_第1张图片
代码如下:

<div class="dropdown">
    "#" data-toggle="dropdown">
         class="fa fa-cog fa-2x"> 
    
    <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();
})

你可能感兴趣的:(前端)