Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как избежать повторов? (https://javascript.ru/forum/dom-window/82795-kak-izbezhat-povtorov.html)

miltorg 07.07.2021 22:37

dragStart
dragOver

вроде как срабатывают одновременно

miltorg 07.07.2021 22:47

Или это так и должно быть. Стартанули и Тянем.

Над объектом и сбросили.

Aetae 08.07.2021 01:18

Работает, нужен только маленький фикс:
this[type].call(target, event);
->
if(target)
  this[type].call(target, event);

:)
https://jsfiddle.net/dwx6r2jo/

miltorg 08.07.2021 03:29

Абалдеть. Спасибо огромное.

miltorg 12.07.2021 05:43

for (let i=1; i < 5; i++) {
 window['v'+i].ondrop = drop_handler;
  window['v'+i].ondragover = dragover_handler;
} 


for (let i=1; i < 4; i++) {
 window['k'+i].ondragstart = dragstart_handler;
  window['k'+i].ondragend = dragend_handler;
}

miltorg 12.07.2021 05:46

А как определить последний элемент vn ?

miltorg 12.07.2021 06:34

mv = document.querySelectorAll("[id^=v]");
mk = document.querySelectorAll("[id^=k]");

for (let i=0; i < mv.length; i++) {
  mv[i].ondrop = drop_handler;
  mv[i].ondragover = dragover_handler;
  }

for (i=0; i < mk.length; i++) {
  mk[i].ondragstart = dragstart_handler;  
  mk[i].ondragend = dragend_handler;
  }

miltorg 12.07.2021 06:35

У меня покороче код?
Может не верно чего?
Но вроде - работает.

Aetae 12.07.2021 12:56

miltorg, так тоже можно. Только это не универсально и не поддерживаемо. Переиспользовать такой код нельзя.

miltorg 12.07.2021 17:10

Цитата:

Сообщение от Aetae (Сообщение 538594)
miltorg, так тоже можно. Только это не универсально и не поддерживаемо. Переиспользовать такой код нельзя.

А можно как то расшифровать ваше утверждение?
Что значит - "не универсально"? - Для 3 строчек писать отдельный Класс?
- "Не поддерживаемо"?
- "Нельзя переиспользовать"?


Часовой пояс GMT +3, время: 17:37.