Ztree右键事件,如何让指定的子节点不显示右键菜单。

这里我记录一下我自己的解决方案:

1、首先在Ztree的setting设置中加一个鼠标右键回调函数onRightClick,然后在加一个beforeRightClick(具体含义可以看官方API)

var setting = {
    data : {
        simpleData : {
            enable : true
        },
        key : {
            name : "name",
            title : "name",
        },
    },
    callback : {
        beforeRightClick: zTreeBeforeRightClick,//在鼠标右键事件前执行的方法,如果该方法返回false,则不执行右键回调函数zTreeOnRightClick,如果返回为true,则执行右键回调函数zTreeOnRightClick
        onRightClick : zTreeOnRightClick //点击鼠标右键执行的方法
    },
};    

/**
 * 鼠标右键执行前调用该方法
 * @param treeId
 * @param treeNode
 * @returns
 */
function zTreeBeforeRightClick(treeId, treeNode) {
        return treeNode.edit;  //这里只需要设置不需要显示右键菜单的子节点的edit属性为false就行(如果是异步加载的数据,则需要在tree的实体中加上edit字段(默认为true),然后在遍历的时候注意不需要显示右键菜单的数据,将edit属性设为false就行。)
}

 

posted @ 2017-09-20 13:32  Amaris_Lin  阅读(727)  评论(0编辑  收藏  举报