0

在看ztree树的demo中,看到这样的传参方式

$("#addLeaf").bind("click", {isParent:false}, add);

 var newCount = 1;
    function add(e) {
        var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
        isParent = e.data.isParent,
        nodes = zTree.getSelectedNodes(),
        treeNode = nodes[0];
        console.log(e.data.vip);
        if (treeNode) {
            treeNode = zTree.addNodes(treeNode, {id:(100 + newCount), pId:treeNode.id, isParent:isParent, name:"new node" + (newCount++)});
        } else {
            treeNode = zTree.addNodes(null, {id:(100 + newCount), pId:0, isParent:isParent, name:"new node" + (newCount++)});
        }
        if (treeNode) {
            zTree.editName(treeNode[0]);
        } else {
            alert("叶子节点被锁定,无法增加子节点");
        }
    };
        

在第一行代码中,给add函数传入了isParent:false ,而在add行数中,使用e.data.isParent来获取传过来的参数,请问这种写法涉及的知识点事什么?以前没有看到过这样的传参方式。

2个回答

0

已采纳

这种情况翻翻文档就知道了。

.bind( eventType [, eventData ], handler )

第二个参数是eventData
说明如下:

eventData
Type: Anything
An object containing data that will be passed to the event handler.

文档上应该说的很清楚了。

0

这个是jq的bind的传参吧。第二个可选参数传递到最后一个运行函数中,作为事件参数event对象的data字段的值传入。

撰写答案