Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

แอตทริบิวต์เหตุการณ์ ondrag ใน HTML

แอตทริบิวต์เหตุการณ์ 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

ข้อความจะแสดง "วงกลมกำลังถูกลาก" ขณะลาก และ "วงกลมถูกวางแล้ว" เมื่อวาง