jquery - DND 图标在屏幕上没有变化,但在 DOM 中发生变化

标签 jquery jstree jstree-dnd

我需要能够将树节点拖动到 div。我在正确渲染鼠标图标时遇到问题。即使 DOM 中的类更改为 jstree-ok,它也始终显示为 X (jstree-er)。

我已经调试并确信 DOM 正在被更改。它只是没有以任何不同的方式呈现。

铌。找到解决方案here不起作用,因此注释掉了该方法(data.helper.find 不返回任何内容)。

$(document).on('dnd_move.vakata', function (e, data) {
        var t = $(data.event.target);

        // Valid drop target?
        if (t[0].classList.contains("dropzone")) {
            $("#jstree-dnd i").removeClass('jstree-er').addClass('jstree-ok');
            //data.helper.find('.jstree-icon').removeClass('jstree-er').addClass('jstree-ok');
            console.log($("#jstree-dnd i"));
        }
        else {

            $("#jstree-dnd i").removeClass('jstree-ok').addClass('jstree-er');
            //data.helper.find('.jstree-icon').removeClass('jstree-ok').addClass('jstree-er');
            console.log($("#jstree-dnd i"));
        }

    })

更新:添加了 jsfiddle。然而,它在 jsfiddle 中工作正常。事实证明,在这里巧合地尝试旧版 JQuery 突出了这个问题...... JSFiddle

最佳答案

问题似乎是 JQuery 3.3.1 和 JSTree 3.3.7 之间的一些不兼容

上面的代码使用 JQuery 2.2.4 可以正常工作

关于jquery - DND 图标在屏幕上没有变化,但在 DOM 中发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54903845/

相关文章:

jquery - 在 JSON 数据中添加 HTML 元素

javascript - jsTree 确定树之间的移动并更改复制的节点 ID

jQuery、匹配和正则表达式

javascript - CSS或jQuery悬停效果增加固定框显示绝对位置放大版

javascript - 在jstree中选择节点时添加加载指示器

jquery - 如何刷新 jsTree 的内容?

javascript - 使用Checkbox,当所有子节点被删除时,JStree中的父节点也会被删除

javascript - 客户端在 <li> 标签值内排序

php - 使用jquery修改服务器端函数

javascript - jstree 不兼容的复选框和类型插件