当前位置:首页 > jquery

jquery 拖放

2026-02-03 22:58:34jquery

jQuery 拖放实现方法

使用 jQuery 实现拖放功能可以通过结合 HTML5 的拖放 API 或第三方插件如 jQuery UI 来完成。以下是两种常见方法的详细说明:

使用 jQuery UI 实现拖放

jQuery UI 提供了 draggabledroppable 方法,可以快速实现元素的拖放交互。

jquery 拖放

// 引入 jQuery 和 jQuery UI 库后
$(function() {
  $("#draggable").draggable();
  $("#droppable").droppable({
    drop: function(event, ui) {
      $(this).addClass("ui-state-highlight").html("Dropped!");
    }
  });
});

对应的 HTML 结构:

jquery 拖放

<div id="draggable" class="ui-widget-content">
  <p>Drag me</p>
</div>

<div id="droppable" class="ui-widget-header">
  <p>Drop here</p>
</div>

使用原生 HTML5 拖放 API

虽然不使用 jQuery UI,但 jQuery 可以简化事件处理:

$(function() {
  $(".drag-item").on("dragstart", function(e) {
    e.originalEvent.dataTransfer.setData("text/plain", $(this).attr("id"));
  });

  $(".drop-zone").on("dragover", function(e) {
    e.preventDefault();
    $(this).addClass("drag-over");
  })
  .on("dragleave", function() {
    $(this).removeClass("drag-over");
  })
  .on("drop", function(e) {
    e.preventDefault();
    $(this).removeClass("drag-over");
    var id = e.originalEvent.dataTransfer.getData("text/plain");
    $("#" + id).appendTo(this);
  });
});

对应的 CSS 样式:

.drag-item {
  width: 100px;
  height: 100px;
  background: #ccc;
  cursor: move;
}
.drop-zone {
  width: 200px;
  height: 200px;
  border: 2px dashed #999;
}
.drag-over {
  border-color: #f00;
}

拖放事件说明

  • dragstart: 开始拖动元素时触发
  • dragover: 当拖动元素在放置目标上方时持续触发
  • dragleave: 拖动元素离开放置目标时触发
  • drop: 拖动元素被放置在目标区域时触发

注意事项

  1. 使用 jQuery UI 时需要额外引入库文件
  2. HTML5 原生拖放 API 在现代浏览器中支持良好
  3. 移动端设备需要特殊处理触摸事件
  4. 复杂的拖放场景可能需要保存更多数据或状态

以上方法可以根据具体需求选择使用,jQuery UI 提供了更多高级功能如排序、约束等,而原生 API 则更加轻量。

标签: 拖放jquery
分享给朋友:

相关文章

jquery下载

jquery下载

jQuery下载方法 官方下载渠道 访问jQuery官网(https://jquery.com/),点击页面中的“Download”按钮。提供两个版本选择: Production版本:压缩后的精…

jquery下载

jquery下载

jQuery下载方法 官方渠道下载 访问jQuery官网(https://jquery.com/),点击首页的“Download”按钮。页面提供两个版本: Production:压缩版(mini…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

加载jquery

加载jquery

加载 jQuery 的方法 通过 CDN 加载 推荐使用官方或公共 CDN(内容分发网络)加载 jQuery,速度快且稳定。将以下代码添加到 HTML 文件的 <head> 或 <b…

jquery使用

jquery使用

jQuery 基础使用 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。以下是一些常见的 jQuery 使用方法。 引入 j…

jquery删除

jquery删除

jQuery 删除元素的方法 使用 jQuery 删除 DOM 元素有多种方式,可以根据需求选择合适的方法。 remove() 方法remove() 方法会删除选中的元素及其子元素,同时移除元素上的…