Отмена Перетащите - PullRequest
       7

Отмена Перетащите

0 голосов
/ 20 июня 2019

Я использую перетаскивание HTML5 для перемещения элементов из одного DIV в другой на веб-странице.Я добавляю элемент к событию Destination in onDrop и удаляю элемент из события Origin в dragEnd.Когда я выбрасываю предмет, я проверяю некоторые условия (точное местоположение отбрасывания) и, если не соблюдается, я не добавляю его к месту назначения и должен каким-то образом сообщить dragEnd, чтобы он не удалял предмет из источника.

Я пробовал это:

function dropHandler(event) {
    if(!checkConditions()){
            event.dataTransfer.dropEffect = 'none';
            event.returnValue = false;
            return false;
    }
    addElementToDestination(event);
}

function dragEndHandler(event) {
        //expect this to be 'none' for cancelled drop
        if (event.dataTransfer.dropEffect == 'move') {
            event.target.parentNode.removeChild(event.target);
        }
}

Но это не работает: event.dataTransfer.dropEffect всегда 'переместить', если я перетаскиваю элемент по назначению.Любое другое предложение о том, как сообщить dragEndHandler, что ему не нужно удалять перетаскиваемый элемент?

Спасибо !!!

...