[英]Swap the class names of draggable with droppable on drop using jquery drag and drop
[英]jQuery Drag and Drop using class selectors
對於專家來說,這必須是一個簡單的過程。 我是JS / jQuery的新手。 我有一個腳本來拖放,並根據需要對其進行了修改。 它通過“ id”選擇器實現。 我想使用“類”選擇器來實現相同的功能。
這是小提琴演示
$(document).ready(function(){
$('#arsenal').on("dragstart", ( function (e) {
e.originalEvent.dataTransfer.setData("Text", e.target.id);
}));
$('#leftbox').on("dragenter", ( function (e) {
e.preventDefault();
}));
$('#leftbox').on("dragover", ( function (e) {
e.preventDefault();
}));
$('#leftbox').on("drop", ( function (e) {
e.preventDefault();
$(this).empty();
var data=e.originalEvent.dataTransfer.getData("Text");
var nodeCopy = document.getElementById(data).cloneNode(true);
nodeCopy.id = "newId";
e.target.appendChild(nodeCopy);
}));
});
說明:我有一個需求,我需要為一組動態添加(使用JS)的圖像實現此功能。 因此,我無法使用目標圖片的ID。 我需要使用課堂。 我嘗試過,但是無法正常工作。 誰能幫我這個?
提前致謝,
類選擇器(“ .class”)選擇具有給定類的所有元素。 一個元素可以有多個類。 他們中只有一個必須匹配。
因此,只需用clas選擇器替換id,如下所示:
$('.class').on("dragstart", ( function (e) {
e.originalEvent.dataTransfer.setData("Text", e.target.id);
}));
使用“ .js-drag-item”和“ .js-drop-target”之類的值替換div ID。 我喜歡添加“ js-”,因此我記得它是一個與Java而不是CSS關聯的類名。
例如
JS
$('.js-drag-item').on("dragstart", ( function (e) {
e.originalEvent.dataTransfer.setData("Text", e.target.id);
}));
的HTML
<section class="js-drag-item">
....
</section>
<section class="js-drag-item">
....
</section>
etc
您可以根據需要添加任意數量的拖動項目或拖放項目,並且JS將應用於所有這些項目
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.