Значок DND не меняется на экране, но меняется в DOM - PullRequest
0 голосов
/ 27 февраля 2019

Мне нужно иметь возможность перетаскивать узел дерева в div.У меня проблемы с отображением мышиной иконки.Он всегда отображается как X (jstree-er), даже когда класс в DOM изменяется на jstree-ok.

Я отладил и уверен, что DOM изменяется.Это просто не отображается по-другому.

Nb.найденное решение здесь не работает, поэтому прокомментировал этот подход (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

1 Ответ

0 голосов
/ 27 февраля 2019

Кажется, проблема в несовместимости JQuery 3.3.1 и JSTree 3.3.7

Приведенный выше код отлично работает с использованием JQuery 2.2.4

...