Я хочу добавить отбрасываемый прослушиватель событий при перетаскивании одного объекта и наведении на отбрасываемый объект.
Вот мой код:
$('.will-be-drag').draggable({
helper: 'clone',
drag: function (event, ui) {
$('.will-be-drop').hover(function () {
$(this).droppable({
drop: function (event, ui) {
let item = ui.draggable;
console.log(item[0])
item.detach().appendTo($(this));
}
});
}, function () {
$(this).droppable('disable');
});
}
});
И мой HTML такой:
<div class="will-be-drag"></div>
<div class="will-be-drag"></div>
<div class="will-be-drag"></div>
<?php
for($i = 0; $i <= 3000; $i++){
?>
<div class="will-be-drop"></div>
<?php
}
?>
Я делаю это из-за проблем с производительностью. У меня есть сбрасываемый объект размером 3k, и он зависает при перетаскивании. Он должен добавить droppable
прослушиватель событий, перетаскивая только $('.will-be-drag')
объект и зависая $('.will-be-drop')
.
С этим кодом он добавляет только при наведении, а не при перетаскивании.
Как мне это сделать?
Я хочу, чтобы javascript дышал, он опаздывает при установке 3k droppable объектов. Всего 30-40 перетаскиваемых элементов. Это стол.
accept
или оставить их отключенными до наведения. - person Twisty   schedule 19.02.2020disable
, он отключен до тех пор, пока вы неenabled
. Я все еще думаю, что вы должны инициализировать их все, отключить их, а затем включить видимые. - person Twisty   schedule 20.02.2020