阻止Bootstrap的dropdown-menu的彈框事件,取消Bootstrap的dropdown-menu點擊默認關閉事件


<div id="com-choose" tabindex="4"  class="dropdown">
                        <a href="#" title="連接" id='command-connecting-a' type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                            <img src="./static/img/icon/connect.png" alt="">
                            <span>連接</span>
                        </a>
                        <ul class="dropdown-menu nav-li-hovershow" aria-labelledby="command-connecting-a"></ul>
                    </div>
 
 function searchDevice(e) {
        $('#com-choose>.nav-li-hovershow').html('');
        var deviceList = ipc.sendSync('searchDevice');
        switch (deviceList.length) {
            case 0:
                // $("#com-choose>.nav-li-hovershow").html("<li>沒有查找到設備</li>");
                console.log('123');
                $("#command-connecting-a span").html('連接')
                alert('沒有查找到設備!');
                e.stopPropagation(); //阻止事件
                break;
            default:
                let exp = /.*\((.*)\)/;
                let device = ''
                deviceList.forEach(element => {
                    device += '<li><a href="#">' + element.deviceName.match(exp)[1] + '</a></li>';
                    // console.log(element);
                    
                });
                $("#com-choose>.nav-li-hovershow").html(device);
                // $('.device-show-list').toggle();
                break;
        }
        
    }

 



<div class="dropdown"> <a href="#" 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();
})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM