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, чтобы обеспечить визуальную обратную связь во время перетаскивания.
НТН