ondragend 事件
定义和用法
当用户完成拖动元素或文本选择时,会发生 ondragend 事件。
拖放是 HTML5 中非常常见的功能。就是当您“抓取”一个对象并将其拖动到不同位置时。如需学习更多知识,请阅读我们关于 HTML5 拖放的 HTML 教程。
ຄວາມເຫັນ:如需使元素可拖动,请使用全局 HTML5 draggable 属性。
提示:默认情况下,链接和图像是可拖动的,不需要 draggable 属性。
在拖放操作的不同阶段,有许多事件被使用,并且可能发生:
ການເກີດຂອງບ່ອນທີ່ສະໜັບສະໜູນ:
- ondragstart - ຖ້າຜູ້ນຳໃຊ້ເລີ່ມຖົກຖຽງສະຖານທີ່
- ondrag - ຖ້າສະຖານທີ່ຖົກຖຽງ
- ondragend - ຖ້າຜູ້ນຳໃຊ້ສຳເລັດການຖົກຖຽງສະຖານທີ່
ການປ້ອນການເກີດຂອງບ່ອນທີ່ສະໜັບສະໜູນ:
- ondragenter - ຖ້າຫຼັກເຂົ້າໄປຫາບ່ອນທີ່ສະໜັບສະໜູນ
- ondragover - ຖ້າຫຼັກຢູ່ບ່ອນທີ່ສະໜັບສະໜູນ
- ondragleave - ຖ້າຫຼັກອອກຈາກບ່ອນທີ່ສະໜັບສະໜູນ
- ondrop - ຖ້າຫຼັກມີຫຼັງທີ່ຖືກປ່ຽນຕົວໄປຫາບ່ອນທີ່ສະໜັບສະໜູນ
ຄວາມຄິດ
ຖ້າຜູ້ນຳໃຊ້ສຳເລັດການຖົກຖຽງ <p> ສະຖານທີ່ການດຳເນີນ JavaScript:
<p draggable="true" ondragend="myFunction(event)">Drag me!</p>
ບ່ອນທີ່ມີຫຼາຍຄວາມຄິດທີ່ຈະພະຍາຍາມຕີຢູ່ບ່ອນດັ່ງກ່າວ.
ວິທະຍາສາດ
ໃນ HTML:
<element ondragend="myScript">
ໃນ JavaScript:
object.ondragend = function(){myScript};
ໃນ JavaScript ພາຍໃນການນຳໃຊ້ addEventListener() 方法:
object.addEventListener("dragend", myScript);
ຄວາມເຫັນ:Internet Explorer 8 ຕໍ່າກວ່າ ບໍ່ສາມາດສະໜັບສະໜູນ addEventListener() 方法。
ລາຍລະອຽດດ້ານເຕັກນິກ
ການອັບພົວພັນ: | ສະໜັບສະໜູນ |
---|---|
ສາມາດຍົກເລີກ: | ບໍ່ສະໜັບສະໜູນ |
ຊະນິດເຫດການ: | DragEvent |
ປະກອບ HTML ທີ່ສະໜັບສະໜູນ: | ປະກອບ HTML ທັງໝົດ |
DOM ສະບັບ: | Level 3 Events |
ການສະໜັບສະໜູນບັນຊີບັນນາທິການ
ຈຳນວນສີ່ວຽນທີ່ສະແດງວ່າຄົບຄອງສົມມຸດຂອງເຫດການນັ້ນ
ເຫດການ | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
ondragend | 4.0 | 9.0 | 3.5 | 6.0 | 12.0 |
ຫຼາຍຫົວຂໍ້ອີກ
ການສະແດງທີ່ສາມາດຖົກປະກອບທີ່ສາມາດຖົກ
<p draggable="true" id="dragtarget">ຖົກຂ້ອຍ!</p> <div class="droptarget">ຍົກມານັ້ນ!</div> <script> /* ----------------- ເຫດການທີ່ຖືກຈຸດຢູ່ຂອງປະກອບຖົກ ----------------- */ document.addEventListener("dragstart", function(event) { // setData() ລະບົບທີ່ປ່ຽນມາຂອງ setData() ການປ່ຽນມາຂອງຂໍ້ຄວາມທີ່ຖົກ event.dataTransfer.setData("Text", event.target.id); // ອອກມາຂໍ້ຄວາມໃນຂະນະເລີ່ມຖົກ p 元ປະກອບ document.getElementById("demo").innerHTML = "ເລີ່ມຖົກ p 元ປະກອບ."; // ປ່ຽນຄວາມສະຫຼາດຂອງປະກອບທີ່ສາມາດຖົກ event.target.style.opacity = "0.4"; }); // ປ່ຽນສີຂອງຂໍ້ຄວາມອອກມາໃນຂະນະຖົກ p 元ປະກອບ document.addEventListener("drag", function(event) { document.getElementById("demo").style.color = "red"; }); // ສຳເລັດການຖົກ p 元ປະກອບຫຼັງຈາກອອກມາຂໍ້ຄວາມແລະປ່ຽນຄວາມສະຫຼາດ document.addEventListener("dragend", function(event) { document.getElementById("demo").innerHTML = "ສຳເລັດການຖົກຂອງປະກອບ p."; event.target.style.opacity = "1"; }); /* ----------------- ການສະເຫລີມພະຍາກອນໃນຈຸດວາງ ----------------- */ // ຖ້າ p ສາມາດຖົ່ວຍໄປໄດ້ເຂົ້າໄປໃນ droptarget ປ່ຽນວິທະຍາສະນະ DIV document.addEventListener("dragenter", function(event) { if ( event.target.className == "droptarget" ) { event.target.style.border = "3px dotted red"; } }); // ຢ່າງມັນແມ່ນການວາງຂໍ້ມູນ/ປະກອບອາສາດໃນສັດນະພາບອື່ນ. ເພື່ອອະນຸຍາດວາງຂໍ້ມູນ, ພວກເຮົາຕ້ອງປ້ອງກັນການດຳເນີນການຄົນໃຫຍ່ອາຍຸຂອງສັດນະພາບ document.addEventListener("dragover", function(event) { event.preventDefault(); }); // ຖ້າ p ສາມາດຖົ່ວຍໄປໄດ້ອອກຈາກ droptarget ກະຕຸ້ນວິທະຍາສະນະ DIV document.addEventListener("dragleave", function(event) { if ( event.target.className == "droptarget" ) { event.target.style.border = ""; } }); /* ພະຍາກອນຖົ່ວຍໄປ - ປ້ອງກັນການດຳເນີນການຄົນໃຫຍ່ອາຍຸຂອງບັນຊີ (ປ່ຽນຫາທາງຕໍ່ເວັບໄຊ) */ ລະລາຍສີທີ່ສະແດງຕົວບັນທຶກແລະສີກະເຈອນຂອງ DIV ການຄົ້ນພົບຂໍ້ມູນທີ່ຖືກຖົ່ວຍໄປດ້ວຍກົນລະບົບ dataTransfer.getData() ຂໍ້ມູນທີ່ຖືກຖົ່ວຍໄປຫາແມ່ນ id ("drag1") ສົ່ງປະກອບອາສາດທີ່ຖືກຖົ່ວຍໄປຫາປະກອບອາສາດທີ່ຖືກວາງ */ document.addEventListener("drop", function(event) { event.preventDefault(); if ( event.target.className == "droptarget" ) { document.getElementById("demo").style.color = ""; event.target.style.border = ""; var data = event.dataTransfer.getData("Text"); event.target.appendChild(document.getElementById(data)); } }); </script>