【发布时间】:2019-02-27 10:55:46
【问题描述】:
我需要能够将树节点拖到 div 中。我在让鼠标图标正确渲染时遇到问题。它始终显示为 X (jstree-er),即使 DOM 中的类更改为 jstree-ok。
我已经调试并确定 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
【问题讨论】:
-
你可以创建一个 jsfiddle 并在这里发布,或者你可以更新你的帖子并添加代码 sn-p
-
如果带有
jstree-er的元素在您的/jstree-dnd css 规则中具有更高的优先级,则 UI 不会更改。如果没有工作示例,就无法判断是否有 another 元素具有jstree-er。 -
JSFiddle 添加了,但不幸的是 - 它在小提琴中有效。比以前更难过!
标签: jquery jstree jstree-dnd