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

ออบเจ็กต์ DataTransfer ใน HTML5


เมธอด event listener สำหรับเหตุการณ์ลากและวางทั้งหมดรับออบเจ็กต์ Event ที่มีแอตทริบิวต์ readonly ชื่อ dataTransfer event.dataTransfer จะคืนค่าออบเจ็กต์ DataTransfer ที่เกี่ยวข้องกับเหตุการณ์ ดังนี้:

function EnterHandler(event) {
  DataTransfer dt = event.dataTransfer;
  …
}

คุณสามารถลองรันโค้ดต่อไปนี้เพื่อใช้งานออบเจ็กต์ DataTransfer:

<!DOCTYPE HTML>
<html>
  <head>
    <style>
      #boxA, #boxB { float:left;padding:10px;margin:10px; -moz-user-select:none; }
      #boxA { background-color: #6633FF; width:75px; height:75px; }
      #boxB { background-color: #FF6699; width:150px; height:150px; }
    </style>
    <script>
      function dragStart(ev) {
        ev.dataTransfer.effectAllowed='move';
        ev.dataTransfer.setData("Text", ev.target.getAttribute('id'));
        ev.dataTransfer.setDragImage(ev.target,0,0);
        return true;
      }
    </script>
  </head>
  <body>
    <center>
      <h2>Drag and drop HTML5 demo</h2>
      <div>Try to drag the purple box around.</div>
      <div id="boxA" draggable="true" ondragstart="return dragStart(ev)">
        <p>Drag Me</p>
      </div>
      <div id="boxB">Dustbin</div>
    </center>
  </body>
</html>