ສະຖານະເຫດ ondragenter
定义和用法
当可拖动元素或文本选择进入有效的放置目标时,会发生 ondragenter 事件。
ondragenter ແລະ ondragleave 事件ສາມາດຊ່ວຍຜູ້ນຳໃຊ້ຮູ້ວ່າປະກອບສິ່ງທີ່ຖອຍຈະເຂົ້າໄປຫຼິ້ນຫຼືອອກໄປຈາກເປົ້າຫຼິ້ນ. ເປັນຕົວຢ່າງທີ່ຈະປ່ຽນສີທີ່ຫຼິ້ນໃນປະກອບສິ່ງທີ່ຖອຍເຂົ້າໄປໃນເປົ້າຫຼິ້ນແລະຫຼຸດສີຫຼິ້ນອອກໄປຈາກເປົ້າຫຼິ້ນ.
ການຖອຍໄດ້ແມ່ນປະສົມກະສັບທີ່ຫຼາຍທີ່ຖືກນໍາໃຊ້ໃນ HTML5. ນັ້ນແມ່ນຖ້າເຈົ້າ "ກິດ" ໜຶ່ງເປົ້າຫຼິ້ນແລະຖອຍມາໃນທີ່ອື່ນ. ຖ້າເຈົ້າຕ້ອງຮຽນຫຼາຍກວ່ານັ້ນຈະອ່ານພວກເຮົາກ່ຽວກັບ ສັນຍາວັນໂທມຫ້າງຂະໜາດຫົວHTML Tutorial.
ຄວາມເຫັນ:ເພື່ອເຮັດໃຫ້ປະກອບສິ່ງສາມາດຖອຍໄດ້ຫຼາຍກວ່ານັ້ນຈະຕ້ອງນຳໃຊ້ global ປະເພດ draggable HTML5。
ຄຳແນະນຳ:ໂດຍປົກກະຕິທີ່ຢູ່ຂອງພາສາຂໍ້ຄວາມມັນຈະສາມາດຖອຍໄດ້ຫຼາຍກວ່ານັ້ນຈະບໍ່ຕ້ອງທີ່ຈະນຳໃຊ້ປະເພດ draggable
ໃນເວລາທີ່ຈະດຳເນີນການຖອຍໄດ້ຫຼາຍກວ່ານັ້ນໃນການຖອຍໄດ້ຫຼາຍກວ່ານັ້ນຈະມີການເກີດຂຶ້ນ
ການສະເຫນີໃນເປົ້າຫຼິ້ນທີ່ສາມາດຖອຍໄດ້ (ເປົ້າຫຼິ້ນແກ່ວ່າ):
- ondragstart - ພຽງແຕ່ຕອນທີ່ຜູ້ນຳໃຊ້ເລີ່ມຖອຍປະກອບສິ່ງ
- ondrag - ພຽງແຕ່ຕອນທີ່ປະກອບສິ່ງຖອຍ
- ondragend - ພຽງແຕ່ຕອນທີ່ຜູ້ນຳໃຊ້ສຳເລັດຖອຍປະກອບສິ່ງ
ການສະເຫນີໃນເປົ້າຫຼິ້ນ:
- ondragenter - ພຽງແຕ່ຕອນທີ່ປະກອບສິ່ງທີ່ຖອຍເຂົ້າໄປໃນເປົ້າຫຼິ້ນ
- ondragover - ພຽງແຕ່ຕອນທີ່ປະກອບສິ່ງທີ່ຖອຍຢູ່ເປົ້າຫຼິ້ນ
- ondragleave - ພຽງແຕ່ຕອນທີ່ປະກອບສິ່ງທີ່ຖອຍອອກໄປຈາກເປົ້າຫຼິ້ນ
- ondrop - ພຽງແຕ່ຕອນທີ່ປະກອບສິ່ງທີ່ຖອຍຖືກປະຕິບັດຕາມເປົ້າຫຼິ້ນ
ຄວາມຄິດທີ່ຕິດຕາມ
ດຳເນີນ JavaScript ເມື່ອປະກອບສິ່ງທີ່ສາມາດຖອຍໄດ້ບັນຈຸເຂົ້າໄປໃນເປົ້າຫຼິ້ນ
<div ondragenter="myFunction(event)"></div>
ມີຫຼາຍຄວາມຄິດທີ່ຕິດຕາມ TIY ຢູ່ດ້ານລຸ່ມຂອງເວັບໄຊ
ວິນິສະພາບ
ໃນ HTML:
<element ondragenter="myScript">
ໃນ JavaScript:
object.ondragenter = function(){myScript};
ໃນ JavaScript,ນຳໃຊ້ກົນລະບົບ addEventListener()
object.addEventListener("dragenter", myScript);
ຄວາມເຫັນ:ບໍ່ສາມາດສະໜັບສະໜູນ Internet Explorer 8 ຫຼືຫຼາຍກວ່ານັ້ນ addEventListener() method。
ຖະແຫຼງສັນຍານເຕັກນິກ
ລວມກະຕຸ້ນ | ສະໜັບສະໜູນ |
---|---|
ສາມາດຍົກເລີກ | ສະໜັບສະໜູນ |
ທີ່ສາມາດສະໜັບສະໜູນບັນດາບາງບາງການເກີດກະຕຸ້ນ | DragEvent |
ທີ່ສາມາດສະໜັບສະໜູນບັນດາບັນດາສີ່ອາກາດ | ທຸກສິ່ງທີ່ສາມາດສະແດງສານ |
DOM Version: | Level 3 Events |
ການສະໜັບສະໜູນຂອງບັນດາບາງສະຖານທີ່
ຈຳນວນສະຖານທີ່ທີ່ສະໜັບສະໜູນການເກີດກະຕຸ້ນຄັ້ງທໍາອິດຂອງການຈູດຂອງການອອກສຽງ
ການເກີດກະຕຸ້ນ | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
ondragenter | 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) { // dataTransfer.setData()ວິທີການການກະກຽມຂໍ້ມູນທີ່ຖົກຖຽງແລະຂັ້ນຕອນ event.dataTransfer.setData("Text", event.target.id); // ສຳເລັດການຖົກຖຽງບັນດາຄວາມເມື່ອເລີ່ມຖົກຖຽງ p element document.getElementById("demo").innerHTML = "ເລີ່ມຖົກຖຽງ p element."; // ປ່ຽນຄວາມປອດໄພຂອງບັນດາບັນດາບາງສະຖານທີ່ສາມາດຖົກຖຽງ event.target.style.opacity = "0.4"; }); // ປ່ຽນສະແດງບັນດາຄວາມສີໃນຂະນະຖົກຖຽງ p element document.addEventListener("drag", function(event) { document.getElementById("demo").style.color = "red"; }); // ສຳເລັດການຖົກຖຽງ p element ກໍ່ພົບຄືນການສະແດງບັນດາຄວາມແລະການປ່ຽນຄວາມປອດໄພ document.addEventListener("dragend", function(event) { document.getElementById("demo").innerHTML = "ສຳເລັດການຖົກຖຽງບັນດາຄວາມ p element."; 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>