Как создать одно событие Drag с кросс-браузерной совместимостью? - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь создать событие перетаскивания в представлении дерева кендо, для которого включено перетаскивание.

My Dojo Пример: https://dojo.telerik.com/ETOCIFAz/3

Он работает как положено в Chrome, но не в Edge и IE11 (для дерева).

Я также добавил простой div с перетаскиваемой функциональностью JQuery UI, и в этом случае он работает на Edge, но не на Chrome.

Есть ли какой-либо промежуточный шаг, который я пропускаю после создания события мыши или когда я отправляю различные типы взаимодействий?

Редактировать:

Моя проблема не в интерпретации события перетаскивания, а в программной инициализации перетаскивания с кодом. Я упростил проблему с опубликованным примером Dojo, но исходная проблема, которую я пытаюсь решить:

У меня есть 2 разные системы перетаскивания (Dragula и Kendo Tree View), первая система имеет список компонентов (Button / Image / Dropdown / ...). Когда я перетаскиваю элемент из первой системы во вторую систему (представление дерева кендо), я хочу, чтобы визуально перетаскивался новый компонент, например, «Новая кнопка», и позволял пользователю размещать его в любом месте в представлении дерева кендо. .

Вот визуал (на Chrome, где он работает):

Перетаскивание между двумя различными системами

1 Ответ

0 голосов
/ 06 ноября 2018

У меня низкая репутация, чтобы добавить комментарий: (.

Я не совсем понимаю, что вы пытаетесь сделать, но почему бы не использовать встроенное событие drag ?

Я использую его, когда перетаскиваю между древовидными списками / древовидными представлениями для просмотра нужного значка ...

drag: function(e) {
    if ($(e.target).parents('#targetTreeList>div>table').length>0) {
        e.setStatus("k-i-plus");
    }
    else {
        e.setStatus("k-i-cancel");
    }
}

И чтобы получить dataItem на пылесосе, я использую:

$(e.target).parents('.k-treelist').data('kendoTreeList').dataItem(e.target)

Пожалуйста, помогите мне понять, и я мог бы помочь!

...