HTML ကျူတိုရီရယ်

HTML ပင်မစာမျက်နှာ HTML နိဒါန်း HTML တည်းဖြတ်သူများ HTML အခြေခံ HTML အစိတ်အပိုင်းများ HTML အရည်အချင်းများ HTML ခေါင်းစီးများ HTML စာပိုဒ်များ HTML ပုံစံများ HTML Formatting HTML ကိုးကားချက်များ HTML မှတ်ချက်များ HTML အရောင်များ HTML CSS HTML လင့်ခ်များ HTML ပုံများ HTML Favicon HTML ဇယားများ HTML စာရင်းများ HTML Block & Inline HTML အတန်းများ HTML ID HTML Iframes HTML JavaScript HTML ဖိုင်လမ်းကြောင်းများ HTML Head HTML အပြင်အဆင် HTML တုံ့ပြန်မှု HTML ကွန်ပျူတာကုဒ် HTML ဝေါဟာရများ HTML ပုံစံလမ်းညွှန် HTML အကြောင်းအရာများ HTML သင်္ကေတများ HTML အီမိုဂျီများ HTML Charset HTML URL ကုဒ် HTML နှင့် XHTML

HTML ပုံစံများ

HTML ပုံစံများ HTML Form Attribute များ HTML ဖောင်ဒြပ်စင်များ HTML ထည့်သွင်းမှု အမျိုးအစားများ HTML ထည့်သွင်းခြင်း အရည်အချင်းများ HTML Input Form Attributes

HTML ဂရပ်ဖစ်

HTML Canvas HTML SVG

HTML မီဒီယာ

HTML မီဒီယာ HTML ဗီဒီယို HTML အသံ HTML ပလပ်အင်များ HTML YouTube

HTML API များ

HTML Geolocation HTML ဆွဲ/ချပါ။ HTML ဝဘ်သိုလှောင်မှု HTML ဝဘ်အလုပ်သမားများ HTML SSE

HTML နမူနာများ

HTML နမူနာများ HTML Quiz HTML လေ့ကျင့်ခန်းများ HTML လက်မှတ် HTML အနှစ်ချုပ် HTML အသုံးပြုနိုင်မှု

HTML ကိုးကားချက်များ

HTML Tag စာရင်း HTML အရည်အချင်းများ HTML ကမ္ဘာလုံးဆိုင်ရာ အရည်အချင်းများ HTML Browser ပံ့ပိုးမှု HTML ပွဲများ HTML အရောင်များ HTML Canvas HTML အသံ/ဗီဒီယို HTML Doctypes HTML အက္ခရာအစုံများ HTML URL ကုဒ် HTML လန်းကုဒ်များ HTTP မက်ဆေ့ခ်ျများ HTTP နည်းလမ်းများ PX မှ EM Converter ကီးဘုတ်ဖြတ်လမ်းများ

HTML Drag and Drop API


HTML တွင် မည်သည့်ဒြပ်စင်မဆို ဆွဲငင်ချနိုင်သည်။


ဥပမာ

W3 ကျောင်းများ

W3Schools ပုံကို ထောင့်မှန်စတုဂံသို့ ဆွဲယူပါ။


ဆွဲချလိုက်ပါ။

Drag and drop သည် အလွန်အသုံးများသော feature တစ်ခုဖြစ်သည်။ အရာဝတ္ထုတစ်ခုကို ဖမ်းယူပြီး အခြားတစ်နေရာသို့ ဆွဲယူသည့်အခါဖြစ်သည်။


Browser ပံ့ပိုးမှု

ဇယားရှိ နံပါတ်များသည် Drag and Drop ကို အပြည့်အဝထောက်ခံသည့် ပထမဆုံးဘရောက်ဆာဗားရှင်းကို သတ်မှတ်ပေးပါသည်။

API
Drag and Drop 4.0 9.0 3.5 6.0 12.0

HTML Drag and Drop နမူနာ

အောက်ဖော်ပြပါ ဥပမာသည် ရိုးရှင်းသော drag and drop ဥပမာတစ်ခုဖြစ်သည်။

ဥပမာ

<!DOCTYPE HTML>
<html>
<head>
<script>
function allowDrop(ev) {
  ev.preventDefault();
}

function drag(ev) {
  ev.dataTransfer.setData("text", ev.target.id);
}

function drop(ev) {
  ev.preventDefault();
  var data = ev.dataTransfer.getData("text");
  ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

<img id="drag1" src="img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69">

</body>
</html>

၎င်းသည် ရှုပ်ထွေးသည်ဟု ထင်ရသော်လည်း အဖြစ်အပျက်တစ်ခု၏ မတူညီသော အစိတ်အပိုင်းများအားလုံးကို ဆွဲယူ၍ချလိုက်ပါ။



ဆွဲယူနိုင်သော Element တစ်ခုပြုလုပ်ပါ။

ပထမဦးစွာ- ဒြပ်စင်တစ်ခုကို ဆွဲယူနိုင်စေရန်၊ draggableရည်ညွှန်းချက်ကို အမှန်ဟု သတ်မှတ်ပါ-

<img draggable="true">

ဆွဲယူရမည့်အရာ - ondragstart နှင့် setData()

ထို့နောက်၊ ဒြပ်စင်ကို ဆွဲငင်လိုက်သောအခါ ဘာဖြစ်သင့်သည်ကို သတ်မှတ်ပါ။

အထက်ဖော်ပြပါ ဥပမာတွင်၊ ondragstartattribute သည် မည်သည့်ဒေတာကို ဆွဲယူရမည်ကို သတ်မှတ်ပေးသည့် လုပ်ဆောင်ချက်၊ drag(ဖြစ်ရပ်) ဟုခေါ်သည်။

နည်းလမ်း သည် dataTransfer.setData()ဒေတာအမျိုးအစားနှင့် ဆွဲယူထားသောဒေတာတန်ဖိုးကို သတ်မှတ်သည်-

function drag(ev) {
  ev.dataTransfer.setData("text", ev.target.id);
}

ဤကိစ္စတွင်၊ ဒေတာအမျိုးအစားသည် "စာသား" ဖြစ်ပြီး တန်ဖိုးသည် ဆွဲယူနိုင်သောဒြပ်စင် ("drag1") ၏ ID ဖြစ်သည်။


ဘယ်မှာချရမလဲ - ondragover

အဖြစ်အပျက် သည် ondragoverဆွဲယူထားသောဒေတာကို ဖြုတ်ချနိုင်သည့်နေရာကို သတ်မှတ်ပေးသည်။

မူရင်းအားဖြင့်၊ ဒေတာ/ဒြပ်စင်များကို အခြားဒြပ်စင်များတွင် ချန်ထားခဲ့၍မရပါ။ တစ်စက်ကို ခွင့်ပြုရန်၊ ကျွန်ုပ်တို့သည် ဒြပ်စင်၏ ပုံသေကိုင်တွယ်ခြင်းကို တားဆီးရပါမည်။

event.preventDefault()ondragover ဖြစ်ရပ်အတွက် နည်းလမ်းကို ခေါ်ဆိုခြင်းဖြင့် ၎င်းကို လုပ်ဆောင်သည် ။

event.preventDefault()

Drop - ondrop လုပ်ပါ။

ဆွဲယူထားသောဒေတာကို ပြုတ်ကျသောအခါ၊ ကျဆင်းမှုဖြစ်စဉ်တစ်ခု ဖြစ်ပေါ်သည်။

အထက်ဖော်ပြပါ ဥပမာတွင်၊ ondrop attribute သည် function တစ်ခု၊ drop(event) ကို ခေါ်သည်။

function drop(ev) {
  ev.preventDefault();
  var data = ev.dataTransfer.getData("text");
  ev.target.appendChild(document.getElementById(data));
}

ကုဒ်ကို ရှင်းပြထားသည်-

  • ဒေတာများ၏ ဘရောင်ဇာ၏ ပုံသေကိုင်တွယ်ခြင်းကို တားဆီးရန် PreventDefault() ကိုခေါ်ဆိုပါ (ပုံမှန်သည် drop on link အဖြစ်ဖွင့်ထားသည်)
  • dataTransfer.getData() နည်းလမ်းဖြင့် ဆွဲဆွဲထားသောဒေတာကို ရယူပါ။ ဤနည်းလမ်းသည် setData() နည်းလမ်းတွင် တူညီသောအမျိုးအစားအဖြစ် သတ်မှတ်ထားသည့် မည်သည့်ဒေတာကိုမဆို ပြန်ပေးပါမည်။
  • ဆွဲယူထားသောဒေတာသည် ဆွဲယူထားသောဒြပ်စင်၏ ID ဖြစ်သည် ("drag1")
  • ဆွဲထားသောဒြပ်စင်ကို drop element ထဲသို့ထည့်ပါ။

နောက်ထပ် ဥပမာများ

ဥပမာ

<div> ဒြပ်စင်နှစ်ခုကြားတွင် ပုံတစ်ပုံကို ဆွဲချနည်း၊