У меня есть веб-страница с перетаскиваемой таблицей, в которой вы можете перетаскивать элементы, чтобы перемещать их по порядку.
В Chrome и Firefox это работает безупречно, но по какой-то причине я не могу заставить его работать в Edge.
Когда я отлаживаю на Edge, все свойства переданного объекта события являются ошибками.

Вот мой код:
Машинопись
dragEnd(event) {
event.target.style.opacity = '1';
}
drag(event, questionId: number) {
event.dataTransfer.setData('questionId', questionId);
const element: HTMLTableRowElement = event.target;
element.style.opacity = '0.4';
}
allowDrop(ev) {
ev.dataTransfer.dropEffect = 'move';
ev.preventDefault();
}
drop(event, themeId: number) {
const target = event.target.parentElement;
this.moveRow(Number(event.dataTransfer.getData('questionId')), this.stripCharacters(target.id));
this.updateSaveOrderButton(themeId);
}
moveRow(source: number, target: number) {
let questions: Question[] = this.evaluation.themes.find
(t => t.id === this.getQuestionById(source).theme_id).questions;
const sourceIndex: number = questions.findIndex(q => q.evaluation_question_id === source);
const targetIndex: number = questions.findIndex(q => q.evaluation_question_id === target);
if (questions.find(q => q.evaluation_question_id === target) && sourceIndex !== targetIndex)
questions = this.arrayMove(questions, sourceIndex, targetIndex);
}}
HTML
<tr [id] = "'questionrow' + question.evaluation_question_id" *ngFor = "let question of theme.questions; let index = index"
class = "draggable" draggable = "true" (dragend) = "dragEnd($event)" (drop) = "drop($event, theme.id)"
(dragstart) = "drag($event, question.evaluation_question_id)" (dragover) = "allowDrop($event)">
Первые два пока начали тащить. Последние два относятся к функции, которая получает неверные параметры из-за первых двух ошибок. ОШИБКА Ошибка: недопустимый аргумент. ОШИБКА КОНТЕКСТ [объект-объект] ОШИБКА TypeError: невозможно получить свойство 'template_questions' неопределенной или нулевой ссылки. КОНТЕКСТ ОШИБКИ [объект-объект]





Я нашел ответ.
Очевидно, Edge немного строже в отношении типов, чем другие браузеры. У методов перетаскивания должны быть параметры события типа DragEvent.
Не могли бы вы привести пример?
Вы видели ошибку в консоли? Если возможно, вы можете опубликовать пример jsfiddle. так что мы можем напрямую провести тест с Edge, чтобы выявить проблему.