javascript - 如何在删除节点时计算父节点的子节点?

标签 javascript jquery

当用户删除节点时,我们可以在父节点的子节点的控制台中显示警报或打印吗? 换句话说,当用户将任何节点删除到另一个节点时,我想显示节点删除的警报(子节点数量)。

这是我的 fiddle 。 http://jsfiddle.net/fuu94/116/

请运行 fiddle 展开“c”节点。 拖动“c-a”并放在“a”上,它显示 0(零),因为没有子节点。当它放在“b”上时,它显示 2“two”,因为该节点有两个子节点。

$('#tree').jstree({
    core: {
       check_callback: function (op, node, node_parent) {
          return op == 'move_node' ? node_parent.id.indexOf('not') === -1 : true;
       }
    },
    dnd: {
       is_draggable: function (x) {
          return true;
       }
    },
    "plugins": ["dnd"]
 });

最佳答案

似乎有一个 move_node 事件。但掉落后会触发。我想我们可以假设目标节点在删除之前有 n-1 个子节点,因为 jstree 不允许将节点删除到其父节点中。

$tree = $('#tree').jstree({
    core: {
        check_callback: function(op, node, node_parent) {
            return op == 'move_node' ? node_parent.id.indexOf('not') === -1 : true;
        }
    },
    dnd: {
        is_draggable: function(x) {
            return true;
        }
    },
    "plugins": ["dnd"]
});
$tree.on('move_node.jstree', function(e, data) {
    target = $tree.jstree('get_node', data.parent, false);
    children = target.children.length-1;
    alert(children);
});

关于javascript - 如何在删除节点时计算父节点的子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23660417/

相关文章:

javascript - 在 JavaScript 中减去指数

php - jQuery AJAX类型: 'GET' ,传值问题

jquery - 如何使用 jquery POST 到 WCF

jquery 遍历元素列表,按顺序添加和删除类

javascript - PHP 在 Javascript 中包含 ('file.txt' )

javascript - 一个对象如何从对象列表中分组并仅收集明确引用的特定值,每个值都通过其键?

javascript - Leaflet:使用 if 语句对表中的 geojson 数据进行排序和编辑

JavaScript:代码移动得太快,我应该写一个 Promise 吗?

javascript - 拆分多个 Json Javascript

javascript - 使用 Angular.js 在每一行中为数据表 jQuery 添加一个复选框