Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> HTML

Thuộc tính sự kiện ondragenter trong HTML

Thuộc tính sự kiện ondragenter kích hoạt khi phần tử đang kéo vào một vùng drop hợp lệ.

Cú pháp

<tagname ondragenter="script"></tagname>

Ví dụ

Ví dụ cùng với ondragleave (xem bài trước) - code giống hệt nhau:

<!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>Demo ondragenter</h1>
<div class="drop-target" ondrop="drop(event)" ondragenter="dragEnter(event)" ondragleave="dragLeave(event)" ondragover="allowDrop(event)">
  <p ondragstart="dragStart(event)" draggable="true" id="dragtarget" class="circle"></p>
</div>
<div class="drop-target" ondragenter="dragEnter(event)" ondragleave="dragLeave(event)" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<p>Kéo vòng tròn đỏ giữa hai ô</p>
<div class="show"></div>
<script>
  function dragStart(event) { event.dataTransfer.setData("Text", event.target.id); }
  function dragEnter(event) {
    if (event.target.className == "drop-target") {
      event.target.style.background = "#db133a3d";
      document.querySelector(".show").innerHTML = "Đã vào vùng thả";
    }
  }
  function dragLeave(event) {
    if (event.target.className == "drop-target") {
      event.target.style.background = "transparent";
      document.querySelector(".show").innerHTML = "Đã rời vùng thả";
    }
  }
  function allowDrop(event) { event.preventDefault(); }
  function drop(event) {
    event.preventDefault();
    var data = event.dataTransfer.getData("Text");
    event.target.appendChild(document.querySelector('.circle'));
  }
</script>
</body>
</html>

Kết quả

Kéo vòng tròn vào ô → ô thay đổi màu nền, hiển thị "Đã vào vùng thả".