ุงูุณูุงู
ุนูููู
๐
ุชุนุงููุง ูุดูู ุงูููุงุฑุฏุฉ ุฅุฒุงู ููุฏุฑ ูุนู
ู drag & drop ูู elements ๐ง
ุฃููุงู ูุงุฒู
ูุถูู draggable=true ูู element ุงููู ูุนู
ูู drag & drop ู ูู
ุงู ููุฏููู ุฅุณู
ููุงุณ ู
ูุนุจุฑ ุนุดุงู ูุณุชุฎุฏู
ู ุจุนุฏูู ุฒู ุงูุฅุณู
ุฏุง element-dragged-dropped ๐ค
ุซุงููุงู ููุถูู ูู element ู
ู ุฏูู ุฌูุง parent ุฎุงุต ุจูู, ู ููุนุฑู ููู ุนู
ููุง ูุฏุง .. ุชุนุงููุง ููุง ุนุดุงู ูุดูู ุงูููุฏ ููููู ุดููู ุฅูู ๐
const items = document.querySelectorAll('.element-dragged-dropped');
items.forEach(item => {
item.addEventListener('dragstart', dragStart);
});
function dragStart(e) {
e.dataTransfer.setData('text/plain', e.target.id);
}
/* drop targets */
const boxes = document.querySelectorAll('.parent-dragged-dropped-elements');
boxes.forEach(box => {
box.style.cursor = "pointer";
box.addEventListener('dragenter', dragEnter)
box.addEventListener('dragover', dragOver);
box.addEventListener('dragleave', dragLeave);
box.addEventListener('drop', drop);
});
function dragEnter(e) {
e.preventDefault();
if (e.target.classList[0] == "element-dragged-dropped") {
e.target.classList.add('drag-over');
}
}
function dragOver(e) {
e.preventDefault();
if (e.target.classList[0] == "element-dragged-dropped") {
e.target.classList.add('drag-over');
}
}
function dragLeave(e) {
e.target.classList.remove('drag-over');
}
function drop(e) {
e.target.classList.remove('drag-over');
// get the draggable element
const id = e.dataTransfer.getData('text/plain');
const draggable = document.getElementById(id);
// add it to the drop target
if (e.target.classList[0] == "element-dragged-dropped") {
e.target.previousSibling.parentElement.after(draggable.previousSibling.parentElement);
}
}
ููุง ุจููุง ูุดุฑุญ ุงูููุฏ ุงููู ูุงุช ุฏุง ๐
ุฃููุงู ุฅุญูุง ุฌุจูุง ูู ุงู elements ุงููู ูููุง ููุงุณ element-dragged-dropped ู ุนู
ููุง ููุจ ุนูููู
ุนุดุงู ูุฏูููู
event ุงู dragstart ู ููุณ ุงูููุงู
ุฏุง ู
ุน ุงู parent ุงูุฎุงุต ุจูู element ู ูู
ุงู ุฒูุฏูุง ุนูู ุงู events ุฌุฒุก ุฎุงุต ุจุงู styling ุจุญูุซ ุฅูู ูุธูุฑ hand ุฃุซูุงุก ุนู
ููุฉ ุงู drag & drop ู ูู ูู ุงู functions ุนุฏุง dragLeave ููุช ุจุนู
ู check ุนูู ุงู element ุงููู ุจุนู
ูู drag & drop ูู ููู ุฅุณู
ููุงุณ ู
ูุนูู ุจุฏููู ููุงุณ ู
ู ุนูุฏู -ููุดููู ุจุนุฏูู- ุจุนุฑู ุฅู ุฏุง ูู ุงููู ุจูุญุตูู drag ู ูู ุนูู
ููุฉ ุงู drop ููุช ุจุนู
ู ููุณ ุงูุญุงุฌุฉ ู ุจุฌูุจ ุงู parent ุจุชุงุน ุงู element ุฏุง ุนุดุงู ุฃุถูู ุงู element ุฏุง ุจุนุฏู ู ุนุดุงู ูุฏุง ุถูููุง ุงู parent ๐
ู ุฏูููุชู ููุดูู ุงูููุงุณ ุงููู ููุง ุจูุถููู ูู element ุนุดุงู ูุฎูู ุดููู ุฌู
ูู ๐คฉ
.drag-over {
border: dashed 3px gray;
}
ู ุจูุฏุง ุฃููู ุฎูุตุช ู ุฃุชู
ูู ุชููู ุฅุณุชูุฏุช โ