Matukio ya ondragleave
定义和用法
当可拖动元素或文本选择离开有效放置目标时,会发生 ondragleave 事件。
ondragenter 和 ondragleave 事件可以帮助用户了解某个可拖动元素即将进入或离开放置目标。例如,可通过在可拖动元素进入放置目标时设置背景颜色,并在元素移出目标时移除颜色来完成。
拖放是 HTML5 中非常常见的功能。就是当您“抓取”一个对象并将其拖动到不同位置时。如需学习更多知识,请阅读我们关于 HTML5 kusaidia的 HTML 教程。
Kueleza:如需使元素可拖动,请使用全局 HTML5 draggable 属性。
提示:默认情况下,链接和图像是可拖动的,不需要 draggable 属性。
Inaendelea kwenye viwango vya kutoa kwa kusaidia kwa sababu kuna matukio mengi yanayotumika na yanaweza kufikia:
Matukio yanayotukia kwenye kipakuo kinachotumika kama kipakuo (elementi ya asili):
- ondragstart - Inaathirika kama mtumiaji anafikia uharibifu wa kutoa kipakuo
- ondrag - Inaathirika kama elementi inayotumika kama kipakuo inatumika kama kipakuo
- ondragend - Inaathirika kama mtumiaji anafikia uharibifu wa kutoa kipakuo
Matukio yanayotukia kwenye kipakuo kina:
- ondragenter - Inaathirika kama elementi inayotumika kama kipakuo inaingia kwenye kipakuo
- ondragover - Inaathirika kama elementi inayotumika kama kipakuo inahitaji kufikia kipakuo
- ondragleave - Inaathirika kama elementi inayotumika kama kipakuo inaondoka kwenye kipakuo
- ondrop - Inaathirika kama elementi inayotumika kama kipakuo inahitaji kufikia kipakuo kina
Mfano
Kutumia JavaScript kwenye uharibifu wa kutoa kama ingia elementi inayotumika kama kipakuo:
<div ondragleave="myFunction(event)"></div>
Makini ya ukurasa kuna mifano mingi ya TIY.
Muundo
In HTML:
<element ondragleave="myScript">
In JavaScript:
object.ondragleave = function(){myScript};
In JavaScript, tumia methodi addEventListener():
object.addEventListener("dragleave", myScript);
Kueleza:Internet Explorer 8 na kuzi na kwanza hau inafaa kusaidia Methodi addEventListener()。
Maadili ya teknolojia
Kubeba: | Inafikia |
---|---|
Inafikia: | Haiwezi kufikia |
Type of event: | DragEvent |
HTML tags inayosaidia: | Wote wa HTML elements |
DOM Version: | Matukio ya Kiwango 3 |
Matumizi ya browser
Mafanikio ya namba kwenye tabia inaangalika na browseri za kwanza zilizoongeza matukio hii.
Matukio | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
ondragleave | 4.0 | 9.0 | 3.5 | 6.0 | 12.0 |
Mfano
Mfano wa matokeo ya kusaidia na kusaidia:
<p draggable="true" id="dragtarget">Saidia nani!</p> <div class="droptarget">Weka hapa!</div> <script> /* ----------------- Matokeo ya matukio ya kusaidia kwenye matokeo ----------------- */ document.addEventListener("dragstart", function(event) { // dataTransfer.setData() methodu inasaidia kubadilisha aina na thamani ya data inayosaidia event.dataTransfer.setData("Text", event.target.id); // Kwenye kuanza kusaidia p element, kushafinje taarifa document.getElementById("demo").innerHTML = "Kuanza kusaidia p element."; // Kusaidia kubadilisha uwezo wa kufikia kwa elementi inayosaidia event.target.style.opacity = "0.4"; }); // Kwenye kusaidia p element, kushika rangi ya taarifa ya chapa document.addEventListener("drag", function(event) { document.getElementById("demo").style.color = "red"; }); // Kufikia kusaidia p element na kushafinje taarifa na kuregusha kivunja document.addEventListener("dragend", function(event) { document.getElementById("demo").innerHTML = "Mfanyikia kusaidia p element."; event.target.style.opacity = "1"; }); /* ----------------- Matukio yanayotolewa kwenye maelezo wa kufanyia ----------------- */ // Ili badilisha ukinga div kama elementi inayotumika inakaa kwenye droptarget document.addEventListener("dragenter", function(event) { if ( event.target.className == "droptarget" ) { event.target.style.border = "3px dotted red"; } }); // Kwa kawaida, hali ya kusafirisha inaweza kusafirishwa kwenye elementi nyingine. Ili kumfunza kusafirisha, lazima tupinga uendeshaji wa kawaida wa elementi document.addEventListener("dragover", function(event) { event.preventDefault(); }); // Ili kirejeza ukinga div kama itakayopata kwenda droptarget document.addEventListener("dragleave", function(event) { if ( event.target.className == "droptarget" ) { event.target.style.border = ""; } }); /* On drop - Kupunguza uendeshaji wa data wa kawaida wa mtangazaji (inaendelea kuwa muungano kama kiungo kwa kufanyia upelekezo kwenye rangi mbili) Kirejeza rangi ya maandiko na div ya ukinga rangi Pika data inayotumika kwa mtindo dataTransfer.getData() Data inayotumika ni id ya elementi inayotumika ("drag1") Ingeongeza elementi inayotumika katika elementi ya kufanyia */ 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>