开发者社区> 问答> 正文

树子节点点击事件出现失效问题 - 服务报错

@zTree 你好,想跟你请教个问题:

    你好,我在用结合ztree+easyui开发经典模式的左右布局,点击树节点刷新右边内容页面,ztree初始化加载后设置的点击事件无效,当浏览器F12进入调试模式查看报错情况时,又能正常进行点击事件了,控制台也没有报错。当我再测试时不进入浏览器调试模式就,子节点的点击事件怎么都不能执行,alert也没反应

展开
收起
montos 2020-05-31 09:06:41 855 0
1 条回答
写回答
取消 提交回答
  •  感觉应该是加载顺序的问题,建议用window.load 初始化 ztree######

    引用来自“要吃九个橙子”的评论

     感觉应该是加载顺序的问题,建议用window.load 初始化 ztree

    能具体点么?我是这样设置加载函数的,在页面加载完后初始化树,浏览器不进入调试模式点击事件无效,alert也不出来,浏览器f12进入调试模式,就点击事件才生效

    //设置子节点点击函数
    function zTreeOnClick(event, treeId, treeNode) {
    console.log(treeNode.id+"--"+treeNode.name);
    alert(treeNode.id);
    if (!treeNode.isParent) {
    $("#contentPanel").panel("refresh",refreshURL+"&id="+treeNode.id);
    $('#contentPanel').panel({title: "正在配置:"+treeNode.name});
    }
    }

    //树插件初始化设置
    var setting = {
    async : {
    enable : true,
    url : url,
    autoParam : [ "id", "pid", "name", "level" ],
    //dataFilter : filter
    },
    callback : {
        onClick : zTreeOnClick
    }
    };

    //异步请求树节点,预处理函数
    function filter(treeId, parentNode, childNodes) {
    if (!childNodes)
    return null;
    return childNodes;
    }
    //初始化树,展开第一层
    $(document).ready(function() {
    var treeObj = $.fn.zTree.init($("#alarmTree"), setting, rootJson);
    var node = treeObj.getNodeByTId("alarmTree_1");//获取树第一层第一个节点(id为"模块ID"+"_1")
    treeObj.expandNode(node, true, false, true, false);
    });

    ######

    引用来自“要吃九个橙子”的评论

     感觉应该是加载顺序的问题,建议用window.load 初始化 ztree
    我用了 window.load初始化还是点击事件无效,一开debug模式就正常######

    引用来自“要吃九个橙子”的评论

     感觉应该是加载顺序的问题,建议用window.load 初始化 ztree
    不管怎样还是谢谢,自己解决了,被控制台打印日志坑了console.log(treeNode.id+"--"+treeNode.name);这句注释掉就正常了###### 也可能是和nicevalidator的js冲突了。 冲突之后(同时引入双方的js),ztree所有的操作,点击两次才起作用。
    2020-05-31 09:06:50
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载