关于jquery插件zTree删除节点的问题
2个回答
展开全部
你好
由于ztree对于自身的removeBtn绑定了对应的beforeRemove等的事件,而你的做法是通过执行zTree.removeNode来完成的删除,并不是通过removeBtn来执行的,ztree的removeNode方法没有触发对应的beforeRemove方法,所以你要在你的事件中,重写整理方法
$("#***").click(function(){
var nNode = zTree.getSelectedNodes()[0];
if(nNode){
zTree.removeNode(nNode);
// 这里手动执行一次方法
zTreeBeforeRemove(nNode.id, nNode);
}
})
beforeRename是因为修改的节点,节点本身依然存在,就和
$("select").change(function(){ // 改变则执行方法 })
$("select").remove(); 是没有 .remove(function(){})
是类似的道理
因为节点已经删除了,先删除,再执行方法,是无效的
由于ztree对于自身的removeBtn绑定了对应的beforeRemove等的事件,而你的做法是通过执行zTree.removeNode来完成的删除,并不是通过removeBtn来执行的,ztree的removeNode方法没有触发对应的beforeRemove方法,所以你要在你的事件中,重写整理方法
$("#***").click(function(){
var nNode = zTree.getSelectedNodes()[0];
if(nNode){
zTree.removeNode(nNode);
// 这里手动执行一次方法
zTreeBeforeRemove(nNode.id, nNode);
}
})
beforeRename是因为修改的节点,节点本身依然存在,就和
$("select").change(function(){ // 改变则执行方法 })
$("select").remove(); 是没有 .remove(function(){})
是类似的道理
因为节点已经删除了,先删除,再执行方法,是无效的
展开全部
你好!!
我认为是你使用了右键菜单,而没有使用原来的删除按钮的原因,之前的beforeRemove事件,是与之关联的;
现在既然你使用自定义右键菜单,那么手动调用一下吧····
//ztree删除一个节点
$("#m_del").click(function() {
var nNode = zTree.getSelectedNodes()[0];
if (nNode) {
hideRMenu();
beforeRemove("#tree",nNode);
zTree.removeNode(nNode);
}
});
追问
多谢你了!但是为什么beforeRename没问题呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询