HTML5 drag and drop - "dragend" не запускается, когда исходный элемент перемещается или удаляется Angular

Я использую Angular Drag and Drop Lists, но я думаю, что проблема в том, что лежащий в основе HTML5 drag and drop не работает с Angular ( v1.6.1).

Согласно MDN (примечание внизу под заголовком "Завершение перетаскивания"):

"dragend" не отправляется, если исходный узел перемещается или удаляется во время перетаскивания (например, при "drop" или "dragover"). ошибка 460801

Я изменяю модель Angular в событии dragover для отображения обратной связи во время операции перетаскивания. Я думаю, что Angular перемещает или удаляет (и воссоздает) мой исходный элемент, и это то, что останавливает "драгенд" от стрельбы.

Это означает, что у меня нет способа узнать, когда операция перетаскивания завершается, если она не удалась (в случае успеха на целевом элементе запускается событие "drop")

Есть идеи, пожалуйста?

1 ответ

Решение

Отвечая на мой вопрос для потомков!

Я решил проблему, убедившись, что угловой цикл дайджеста не работает во время операции перетаскивания.

Похоже, это подтверждает мою теорию об удалении и воссоздании исходного элемента Angular, предотвращающего запуск события dragend.

Мне пришлось вернуться к JQuery, чтобы обеспечить визуальную обратную связь во время перетаскивания.

НТН

Другие вопросы по тегам