【问题标题】:DND icon not changing on-screen, but is changing in DOMDND 图标在屏幕上没有改变,但在 DOM 中正在改变
【发布时间】: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


【解决方案1】:

似乎问题在于 JQuery 3.3.1 和 JSTree 3.3.7 之间存在一些不兼容

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-14
    • 2019-07-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2017-08-26
    • 2022-06-14
    • 2016-10-05
    相关资源
    最近更新 更多