zoukankan      html  css  js  c++  java
  • 【jquery】【ztree】节点添加自定义按钮、编辑和删除事件改成自己定义事件

    setting添加

        edit: {
            drag: {
                isCopy: false,
                isMove: true
            },
            enable: true,//设置是否处于编辑状态
            showRemoveBtn: showRemoveAndRenameBtn,
            showRenameBtn: showRemoveAndRenameBtn,
            removeTitle: "删除",
            renameTitle: "修改"
        },
        view: {
            dblClickExpand: false,
            showLine: false,
            addHoverDom: addHoverDom,   // 用于当鼠标移动到节点上时,显示用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮
            removeHoverDom: removeHoverDom, // 用于当鼠标移出节点时,隐藏用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮
            selectedMulti: false
        },
        callback: {
            onClick: archiveTypeTreeClick,
            beforeRemove: deleteNodeBefore,    //节点被删除之前的事件,并且根据返回值确定是否允许删除操作
            beforeEditName: zTreeBeforeEditName     //节点被编辑之前的事件,并且根据返回值确定是否允许编辑操作
        }

    显示编辑和删除过滤,也可以分开来

    function showRemoveAndRenameBtn(treeId, treeNode) {
        if (treeNode不现实编辑和删除条件) {
            // 不显示编辑和删除按钮
            return false;
        } else {
            return true;
        }
    }

    图示

    显示编辑和删除时

     不显示编辑和删除时

    鼠标移动在节点上添加【添加事件按钮】

    function addHoverDom(treeId, treeNode) {
        //设置只有父节点可以新增 其它只能编辑
        if (treeNode需要添加事件的条件) {
            treeId = $("#" + treeNode.tId + "_span");
            treeNode.editNameFlag || 0 < $("#addBtn_" + treeNode.tId).length || (treeId.after("<span class='button add' id='addBtn_" + treeNode.tId + "' title='新增' ></span>"), (treeNode = $("#addBtn_" + treeNode.tId)) && treeNode.bind("click", function () {
                这里是点击添加事件调用();
                return true;
            }))
        }
    }

    图示

    显示添加按钮

    鼠标移走后删除添加的事件

    function removeHoverDom(treeId, treeNode) {
        $("#addBtn_" + treeNode.tId).unbind().remove();
    }

    图示

    移走删除添加按钮

    删除节点事件修改成触发自定义事件,返回false是阻止删除节点事件

    参考官网:http://www.treejs.cn/v3/api.php 方法setting.callback.beforeEditName

    function deleteNodeBefore(treeId, treeNode) {
        if (不显示删除事件的条件) {
            // 不做处理
            return false;
        }
        这里是自定义事件();
        return false;
    }

    编辑节点事件修改成触发自定义事件,返回false是不触发原来ztree编辑节点名称事件

    参考官网:http://www.treejs.cn/v3/api.php 方法setting.callback.beforeRemove

    function zTreeBeforeEditName(treeId, treeNode) {
        if (不显示编辑事件的条件) {
            // 不做处理
            return false;
        }
        这里是自定义事件();
        return false;
    }
  • 相关阅读:
    VC++SDK编程——字体及位置示例
    VC2008以资源形式实现多语言版本(非Unicode) .转
    跟着编程之美学算法——最长递增子序列(转)
    跟着编程之美学算法——最长公共子序列
    MFC的多国语言界面的实现
    随意输入N个英文字符,找出其中最长连续的排列。
    C++读写EXCEL文件方式比较 .
    操作EXCEL和符号分隔文本的类CSpreadSheet .
    每个程序员都必读的12篇文章
    VC项目配置详解
  • 原文地址:https://www.cnblogs.com/xiaostudy/p/11611649.html
Copyright © 2011-2022 走看看