Показать сообщение отдельно
  #4 (permalink)  
Старый 14.07.2018, 12:51
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

В "drop" нужен event.preventDefault() в начале, "переход по ссылке" в данном случае это действие по умолчанию, его нужно предотвратить. Не по теме, "text/plain" в dataTransfer, у меня в IE не работал, пришлось заменить на "text", метод "bind" уже морально устарел, c версии 1.7 используют "on". Необходимый минимум на чистом JS, чтобы Drag&Drop работал, такой:
dragElement.draggable = true; // или атрибут draggable="true"

dragElement.addEventListener('dragstart', function (e) {
    e.dataTransfer.setData('text', ''); // Firefox
    // ...
});

dropElement.addEventListener('dragover', function (e) {
    e.preventDefault();
    // ...
});

dropElement.addEventListener('drop', function (e) {
    e.preventDefault();
    // ...
});

Пример с дополнительными событиями здесь, кроме "drag" (постоянно вызывается пока двигаешься) и "dragexit" (у меня нигде не работал кроме Firefox).

Последний раз редактировалось Rise, 14.07.2018 в 13:01.
Ответить с цитированием