HTML ondragstart 事件属性


当用户开始拖拽 HTML 文档中某个 HTML 元素或文本时,将触发 HTML ondragstart 事件属性。

语法

语法如下 −

<tagname ondragstart=”script”></tagname>

我们来看一个 HTML ondragstart 事件属性示例 −

示例

 在线示例

<!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>HTML ondragstart Event Attribute Demo</h1>
<div class="drop-target" ondrop="drop(event)" ondragover="allowDrop(event)">
<p ondragstart="dragStart(event)" ondragend="dragFinished(event)" draggable="true" class="circle"></p>
</div>
<div class="drop-target" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<p>Now try to drag and drop the red circle</p>
<div class="show"></div>
<script>
   function dragStart(event) {
      event.dataTransfer.setData("Text", event.target.id);
      document.querySelector(".show").innerHTML = "Started to drag the red circle.";
   }
   function dragFinished(event) {
      document.querySelector(".show").innerHTML = "Finished dragging the red circle.";
   }
   function allowDrop(event) {
      event.preventDefault();
   }
   function drop(event) {
      event.preventDefault();
      event.target.appendChild(document.querySelector('.circle'));
   }
</script>
</body>
</html>

输出

现在,尝试在两个方框之间拖拽、放置红色圆圈,观察 ondragstart 事件属性如何工作的 −

更新时间: 2019 年 9 月 27 日

64 次浏览

开启 职业生涯

完成本课程以获得证明

开始
Advertisement