ondragover事件,看上去很陌生啊,一起来了解下吧。如果可拖动的元素或文本被拖动到有效的放置目标,则ondragover事件属性将触发;拖动一个元素将该元素拖动到拖动点时即可触发该事件属性。ondragover事件属性是HTML5中的新功能,是 HTML5中非常常见的功能。
语法:
<element ondragover="script">
属性值:它包含一个值脚本,该脚本保存要在ondragover事件上运行的脚本。
默认情况下,数据/元素不能放置到其他元素中。 如果要实现改功能,我们需要防止元素的默认处理方法。我们可以通过调用 event.preventDefault()方法来实现 ondragover事件。
注: 为了让元素可拖动,需要使用HTML5 draggable 属性;但默认情况下,图像和链接是可拖动的,不需要 draggable 属性。
示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> .box { width: 250px; height: 100px; margin: 15px; padding: 5px; border: 2px solid black; color: red; } </style> <script> function dragStart(event) { event.dataTransfer.setData("Text", event.target.id); } function allowDrop(event) { event.preventDefault(); document.getElementById("demo").innerHTML = "元素在底部框上"; event.target.style.border = "3px solid red"; } function drop(event) { event.preventDefault(); var data = event.dataTransfer.getData("Text"); event.target.appendChild(document.getElementById(data)); document.getElementById("demo").innerHTML = "元素被拖动到底部框中了"; } </script> </head> <body style="text-align:center;"> <center> <p>从顶部框中拖动元素并放到底部框中</p> <div class="box"> <h1 ondragstart="dragStart(event)" draggable="true" id="dragtarget"> Hello World! </h1> </div> <div class="box" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <p style="clear:both;"></p> <p id="demo"></p> </center> </body> </html>
看下效果:
看上去很牛逼的样子。
在拖放的过程中会触发以下事件:
● 在拖动目标上触发事件 (源元素):
○ ondragstart:当用户开始拖动元素时触发。
○ ondrag:在拖动元素时触发。
○ ondragend:当用户不再拖动元素时触发它。
● 释放目标时触发的事件:
○ ondragenter:当拖动的元素进入放置目标时触发。
○ ondragover:当拖动的元素超过放置目标时,将触发此操作。
○ ondragleave:当拖动的元素离开放置目标时会触发。
○ ondrop:当拖放的元素被放置在放置目标上时,将触发此操作。
网友评论文明上网理性发言 已有0人参与
发表评论: