แอตทริบิวต์เหตุการณ์ ondrag ใน HTML ถูกกระตุ้นเมื่อผู้ใช้นำลาก (drag) องค์ประกอบ HTML ในเอกสาร HTML องค์ประกอบรูปภาพและลิงก์ถูกนำลากได้โดยค่าเริ่มต้น จึงไม่ต้องระบุ ondrag บนพวกมัน
ไวยากรณ์
<tagname ondrag="script"></tagname>
ตัวอย่าง
<!DOCTYPE html>
<html>
<head>
<style>
body { color: #000; height: 100vh; background-color: #FBAB7E; background-image: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%); text-align: center; }
.drop-target { display: inline-block; width: 150px; height: 150px; border: 2px solid #FFF; margin: 1rem; vertical-align: middle; padding: 20px; }
.circle { background: #db133a; height: 40px; width: 40px; border-radius: 50%; }
.show { color: #fff; font-size: 1.2rem; }
</style>
</head>
<body>
<h1>ตัวอย่างแอตทริบิวต์เหตุการณ์ ondrag ของ HTML</h1>
<div class="drop-target" ondrop="drop(event)" ondragover="allowDrop(event)">
<p ondragstart="dragStart(event)" ondrag="dragging(event)" draggable="true" class="circle"></p>
</div>
<div class="drop-target" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<p>ลองลากและวางวงกลมสีแดง</p>
<div class="show"></div>
<script>
function dragStart(event) { event.dataTransfer.setData("Text", event.target.id); }
function dragging(event) { document.querySelector(".show").innerHTML = "วงกลมกำลังถูกลาก"; }
function allowDrop(event) { event.preventDefault(); }
function drop(event) { event.preventDefault(); event.target.appendChild(document.querySelector('.circle')); document.querySelector(".show").innerHTML = "วงกลมถูกวางแล้ว"; }
</script>
</body>
</html>
ผลลัพธ์
ลองลากและวางวงกลมสีแดงระหว่างสองกล่องเพื่อดูการทำงานของ ondrag
ข้อความจะแสดง "วงกลมกำลังถูกลาก" ขณะลาก และ "วงกลมถูกวางแล้ว" เมื่อวาง