Как избежать повторов?
Есть код:
v1.ondrop = drop_handler; v1.ondragover= dragover_handler; v2.ondrop = drop_handler; v2.ondragover= dragover_handler; v3.ondrop = drop_handler; v3.ondragover= dragover_handler; v4.ondrop = drop_handler; v4.ondragover= dragover_handler; k1.ondragstart=dragstart_handler; k1.ondragend = dragend_handler; k2.ondragstart=dragstart_handler; k2.ondragend = dragend_handler; k3.ondragstart=dragstart_handler; k3.ondragend = dragend_handler; k4.ondragstart=dragstart_handler; k4.ondragend = dragend_handler; k5.ondragstart=dragstart_handler; k5.ondragend = dragend_handler; k6.ondragstart=dragstart_handler; k6.ondragend = dragend_handler; k7.ondragstart=dragstart_handler; k7.ondragend = dragend_handler; k8.ondragstart=dragstart_handler; k8.ondragend = dragend_handler; Как избежать повторов? Тем более что до конца не ясно сколько будет v1..vn Спасибо |
miltorg,
сделать цикл или использовать родителя. |
Цитата:
А родителя это как? Намекните пожалуйста. Я даже не могу правильно сформулировать вопрос для Гугла Спасибо. |
Цитата:
Цитата:
На нем и будут показывать. |
Цитата:
<table class="vse"> <tr> <td> <div class="ramka"> <div class="zag_ramka"> 2021-08-21T05:00:00</div> <div class="otstup"> <div id="v1" data-myid="2523"> 2523 gggg </div> <br>----<br> <div id="v2" data-myid="2525"> 2525 sssssssss оллл </div> </div> </div> <div class="ramka"> <div class="zag_ramka"> 2021-07-09T05:00:00</div> <div class="otstup"> <div id="v3" data-myid="2585"> 2585 sssssss fffffff </div> <br>----<br> <div id="v4" data-myid="2586"> 2586 hhhhhh hhhhhhh <p>Нужен кран прораб 222322</p> </div> </div> </div> <td> <div class="kran"> <div id="k1" draggable="true">11111111</div> <div id="k2" draggable="true">22222222</div> <div id="k3" draggable="true">3333333</div> </div></table> <script> function dragstart_handler(ev) { console.log("dragStart"); } function dragover_handler(ev) { console.log("dragOver"); } function drop_handler(ev) { console.log("Drop"); } function dragend_handler(ev) { console.log("dragEnd"); } v1.ondrop = drop_handler; v1.ondragover= dragover_handler; v2.ondrop = drop_handler; v2.ondragover= dragover_handler; v3.ondrop = drop_handler; v3.ondragover= dragover_handler; v4.ondrop = drop_handler; v4.ondragover= dragover_handler; k1.ondragstart=dragstart_handler; k1.ondragend = dragend_handler; k2.ondragstart=dragstart_handler; k2.ondragend = dragend_handler; k3.ondragstart=dragstart_handler; k3.ondragend = dragend_handler; </script> |
Цитата:
|
class Drag { drop = drop_handler; dragover = dragover_handler; dragstart =dragstart_handler; dragend = dragend_handler; events = ['dragover', 'drop', 'dragstart', 'dragend']; constructor(targetSelector, elementSelector) { this.targetSelector = targetSelector; this.elementSelector = elementSelector; this.start(); } handleEvent(event) { let { type, target } = event; switch(type) { case 'dragover': case 'drop': target = target.closest(this.targetSelector); break; case 'dragstart': case 'dragend': target = target.closest(this.elementSelector) break; } if(target) this[type].call(target, event); } start() { this.events.forEach(type => document.addEventListener(type, this)); return this; } stop() { this.events.forEach(type => document.removeEventListener(type, this)); return this; } } const drag = new Drag('.drag-target', '.drag-element'); |
Цитата:
Пример конечно капец какой корявый... :( Что ты там гонощишь в итоге? |
Цитата:
|
drop_handler не срабатывает. А он нужен.
|
Часовой пояс GMT +3, время: 11:05. |