当前位置:首页 > jquery

jquery拖拽事件

2026-02-04 03:29:59jquery

jQuery 拖拽事件实现方法

jQuery 本身不直接提供拖拽功能,但可以通过结合 jQuery UI 或原生 HTML5 的拖拽 API 来实现。以下是两种常见的实现方式:

使用 jQuery UI 实现拖拽

jQuery UI 提供了 draggabledroppable 方法,可以轻松实现元素的拖拽和放置功能。

// 引入 jQuery 和 jQuery UI 库后
$(function() {
  // 使元素可拖拽
  $("#draggable").draggable({
    cursor: "move", // 拖拽时鼠标样式
    revert: "invalid", // 拖拽失败时返回原位
  });

  // 设置放置区域
  $("#droppable").droppable({
    accept: "#draggable", // 接受哪些元素
    drop: function(event, ui) {
      // 放置时的回调
      $(this).append(ui.draggable);
    }
  });
});

使用 HTML5 原生拖拽 API

HTML5 提供了原生的拖拽事件,可以通过 jQuery 绑定这些事件来实现拖拽功能。

$(function() {
  // 拖拽开始事件
  $("#draggable").on("dragstart", function(e) {
    e.originalEvent.dataTransfer.setData("text/plain", $(this).attr("id"));
  });

  // 放置区域事件
  $("#droppable")
    .on("dragover", function(e) {
      e.preventDefault(); // 允许放置
    })
    .on("drop", function(e) {
      e.preventDefault();
      var id = e.originalEvent.dataTransfer.getData("text/plain");
      $(this).append($("#" + id));
    });
});

注意事项

  • 使用 jQuery UI 时需要额外引入 jQuery UI 库。
  • HTML5 原生拖拽 API 的兼容性较好,但部分旧浏览器可能不支持。
  • 拖拽元素的 draggable 属性需要设置为 true(HTML5 方式)。

实际应用示例

以下是一个完整的拖拽排序示例:

jquery拖拽事件

<div id="sortable">
  <div class="item">Item 1</div>
  <div class="item">Item 2</div>
  <div class="item">Item 3</div>
</div>

<script>
$(function() {
  $("#sortable").sortable({
    placeholder: "ui-state-highlight"
  });
  $("#sortable").disableSelection();
});
</script>

此示例需要 jQuery UI 的 sortable 组件支持,可以实现列表项的拖拽排序功能。

标签: 拖拽事件
分享给朋友:

相关文章

vue事件实现

vue事件实现

Vue 事件实现方法 模板中直接绑定事件 在 Vue 模板中通过 v-on 或 @ 语法直接绑定事件。例如点击事件: <button @click="handleClick">点击触发事…

jquery点击事件

jquery点击事件

jQuery 点击事件基础用法 使用 jQuery 绑定点击事件主要通过 .click() 方法或 .on() 方法实现。以下示例展示如何为按钮添加点击事件: // 方法1: 使用 .click()…

vue实现拖拽放置

vue实现拖拽放置

Vue 实现拖拽放置功能 拖拽放置功能可以通过 Vue 的指令或第三方库实现。以下是两种常见的方法: 使用 HTML5 原生拖拽 API HTML5 提供了原生的拖拽 API,可以通过 dragga…

jquery触发事件

jquery触发事件

jQuery 触发事件的方法 jQuery 提供了多种方法来触发事件,包括直接触发、自定义事件以及模拟用户行为。以下是几种常见的方法: trigger() 方法 trigger() 方法用于触发指定…

vue实现div拖拽

vue实现div拖拽

Vue 实现 Div 拖拽的方法 使用原生 HTML5 拖拽 API 在 Vue 中可以通过 HTML5 的拖拽 API 实现基础拖拽功能。需要为元素添加 draggable 属性,并监听 drags…

vue中实现拖拽

vue中实现拖拽

Vue 中实现拖拽功能的方法 在 Vue 中实现拖拽功能可以通过多种方式完成,以下是几种常见的方法: 使用 HTML5 原生拖拽 API HTML5 提供了原生的拖拽 API,可以直接在 Vue 中…