bootstrap treeview 下拉节点树

本文讲述了在IE浏览器中使用Bootstrap Treeview实现下拉节点树时遇到的问题,即点击节点树的父节点会触发onblur事件,导致整个树被隐藏。为了解决这个问题,作者提出了在失去焦点事件中加入延时处理,以区分点击节点与点击外部的区别,从而避免错误隐藏树的状况。同时提供了相关的HTML、JavaScript代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:想在点击空白处时隐藏下拉树,于是想到了给存放节点树的div添加onblur事件,但是当我点击节点树的父节点时,没有展开节点而是走了onblur事件隐藏了整棵树,在其它浏览器可行,在ie中会使div丢掉焦点,请求解决办法。

代码:

     //容器

        '<td class="width-15 active"><input type="text" id="fpxmIn'+hanghao+'" name="fpxm'+hanghao+'" class="form-control required" value="" οnclick="showDiv('+hanghao+')" AUTOCOMPLETE="off"/>

         <div id="fpxmB'+hanghao+'"  tabindex="0" hidefocus="true" οnblur="moveout1('+hanghao+')" style="display: none;">

               <div style="max-height: 150px;max-width: 150px;font-size:10px;overflow: scroll;position: absolute;border:1px solid                            #ccc;outline=0;" id="fpxmD'+hanghao+'" >

                </div>

         </div>

       </td>';

 

     //点击input时触发

function showDiv(hanghao){
            getTree1(hanghao);
            $("#"+"fpxmB"+hanghao).show();
            $("#"+"fpxmB"+hanghao).focus();
        }
        //构建节点树

 function getTree1(hanghao) {
             hanghao = hanghao + "";
                $.ajax({
                    url: "${ctx}/fybx/Fybx/tree", // 请求的URL 获取节点json数据
                    dataType: 'json',
                    data:{
                        "flag":'a'
                    },
                    type: "post",
                    success: function (result) {
                        var id = "fpxmD" + hanghao;
                        $("#"+id).treeview({//节点树
                            color: "#428bca",
                            showBorder: false,
                            showTags: true,
                            data: result,
                            nodeIcon: 'glyphicon glyphicon-globe',
                            emptyIcon: '',
                            level:1,
                            showCheckbox: false,
                            multiSelect: false,
                            onNodeSelected: function (event, data) {
                                $("#"+"fpxmIn" + hanghao).val(data.name);
                                var a = $("#"+"fpxmIn"+hanghao).val();
                                var b = $("#"+"bxxmIn"+hanghao).val();
                                var c = $("#"+"cdbmIn"+hanghao).val();
                                var ssgs = $("#ssgsid").val();
                                if(a!=''&&b!=''&&c!=''){
                                      $.ajax({
                                            url: "${ctx}/fybx/Fybx/getysyeandspr", // 请求的URL  获取所属公司
                                            dataType: 'json',
                                            data:{
                                                "ssgs":ssgs,
                                                "fpxm":a
                                            },
                                            type: "post",
                                            success: function (result) {
                                                if(result.success){
                                                    var s = result.msg;
                                                    var cto = eval("("+s+")");
                                                    if(cto != 'null' && cto != null && cto != ''){
                                                        $("#"+"ysye"+hanghao).val(cto.ysye);
                                                        $("#"+"spr"+hanghao).val(cto.spr);
                                                        $("#"+"spyj"+hanghao).val(cto.spyj);
                                                        $("#"+"spjg"+hanghao).val(cto.spjg);
                                                        $("#"+"spsj"+hanghao).val(cto.spsj);
                                                    }else{
                                                        //jp.error();
                                                        $("#"+"ysye"+hanghao).val("0.0");
                                                        console.log($("#"+"ysye"+hanghao).val());
                                                    }
                                                }
                                            }
                                      });
                                }
                                hideDIV(hanghao);
                            }
                        });


                    }
                });
            }

//隐藏节点树

 function hideDIV(hanghao) {
                $("#"+"fpxmB"+hanghao).hide();
            }

//失去焦点事件

function moveout1(hanghao){
            console.log("fpxmB失去了焦点");
            setTimeout(
                    function(){
                        hideDIV(hanghao);
                    },
                    200)
        }
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值