如何解决.bind“ move_node.jstree”,..-> data.rslt.obj未定义如何获取节点数据?
| 我为check_move提供了自定义功能:crrm : {
move : {
\"check_move\" : function (m) {
var p = this._get_parent(m.o);
if(!p)
return false;
if(m.cr===-1)
return false;
return true;
}
}
},
这似乎按预期工作。
然后,我尝试绑定到\“ move_node \”事件以更新数据库:
.bind(\"move_node.jstree\",function(event,data){
if(data.rslt.obj.attr(\"id\")==\"\"){
/* I omitted this snippet from this paste - it\'s really long and it basically does the same thing as below,just gets the node\'s id in a more complicated way*/
} else {
controller.moveNode(data.rslt.obj.attr(\"id\"),data.inst._get_parent(this).attr(\"id\"),data.rslt.obj.attr(\"rel\"));
}
})
这会导致错误。 data.rslt.obj未定义。我真的无所适从,我之前绑定过多个事件,而这就是我的工作方式。
如果data.rslt.obj不起作用,如何在move_node事件后获取节点属性等?
哦,controller.moveNode()是我自己的函数之一,所以如果您想学习jstree,请不要只复制粘贴。
解决方法
问了一下(典型)后不久,我就找到了自己问题的答案。
必须使用data.rslt.o.attr(\“ id \”)而不是-.obj。-如果您问我一个奇怪的矛盾之处。
我将删除此帖子,但是我认为这可能是一个非常普遍的问题。如果有人有其他想法,请随时删除。
,
if(!p)
return false;
if(m.cr===-1)
return false;
return true;
下次尝试这样做:
return (p && m.cr !== -1);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。