【学习 jQuery EasyUI 】 jQuery EasyUI 教程 jQuery EasyUI 简介 jEasyUI 应用 jEasyUI 创建 CRUD 应用 jEasyUI 创建 CRUD 数据网格 jEasyUI 表单的 CRUD 应用 jEasyUI 创建 RSS 阅读器 jEasyUI 拖放 jEasyUI 基本的拖动和放置 jEasyUI 创建拖放的购物车 jEasyUI 创建学校课程表 jEasyUI 菜单与按钮 jEasyUI 创建简单的菜单 jEasyUI 创建链接按钮 jEasyUI 创建菜单按钮 jEasyUI 创建分割按钮 jEasyUI 布局 jEasyUI 创建边框布局 jEasyUI 创建复杂布局 jEasyUI 创建折叠面板 jEasyUI 创建标签页 jEasyUI 动态添加标签页 jEasyUI 添加自动播放标签页 jEasyUI 创建 XP 风格左侧面板 jEasyUI 数据网格 jEasyUI 转换 HTML 表格为数据网格 jEasyUI 取得选中行数据 jEasyUI 添加查询功能 jEasyUI 添加工具栏 jEasyUI 创建复杂工具栏 jEasyUI 设置冻结列 jEasyUI 动态改变列 jEasyUI 格式化列 jEasyUI 设置排序 jEasyUI 自定义排序 jEasyUI 创建列组合 jEasyUI 添加复选框 jEasyUI 自定义分页 jEasyUI 启用行内编辑 jEasyUI 扩展编辑器 jEasyUI 列运算 jEasyUI 合并单元格 jEasyUI 创建自定义视图 jEasyUI 创建页脚摘要 jEasyUI 条件设置行背景颜色 jEasyUI 创建属性网格 jEasyUI 扩展行显示细节 jEasyUI 创建子网格 jEasyUI 显示海量数据 jEasyUI 添加分页组件 jEasyUI 窗口 jEasyUI 创建简单窗口 jEasyUI 自定义窗口工具栏 jEasyUI 窗口与布局 jEasyUI 创建对话框 jEasyUI 自定义对话框 jEasyUI 树形菜单 jEasyUI 使用标记创建树形菜单 jEasyUI 创建异步树形菜单 jEasyUI 树形菜单添加节点 jEasyUI 创建带复选框的树形菜单 jEasyUI 树形菜单拖放控制 jEasyUI 树形菜单加载父/子节点 jEasyUI 创建基础树形网格 jEasyUI 创建复杂树形网格 jEasyUI 树形网格动态加载 jEasyUI 树形网格添加分页 jEasyUI 树形网格惰性加载节点 jEasyUI 表单 jEasyUI 创建异步提交表单 jEasyUI 表单验证 jEasyUI 创建树形下拉框 jEasyUI 格式化下拉框 jEasyUI 过滤下拉数据网格 jEasyUI 参考手册 jQuery EasyUI 插件 jQuery EasyUI 扩展

jEasyUI 基本的拖动和放置学习笔记

jEasyUI 提供了丰富的 UI 组件和交互功能,其中包括拖动和放置(Drag and Drop)功能。本文将介绍 jEasyUI 基本的拖动和放置功能,并通过实例演示如何使用。

拖动和放置简介

拖动和放置是一种常见的用户交互方式,它可以让用户通过鼠标操作来移动、调整和交换页面上的元素,从而提高交互性和易用性。

在 jEasyUI 中,拖动和放置包括两个主要的组件:拖动源(Drag Source)放置目标(Drop Target)。通过配置这两个组件的属性和事件,可以实现拖动和放置功能。

实例演示

实例一:基本的拖动和放置

以下是一个基本的拖动和放置示例,包括一个 div 元素作为拖动源和另一个 div 元素作为放置目标。

htmlCopy Code
<div id="dragSource" class="easyui-draggable"> 拖我 </div> <div id="dropTarget" class="easyui-droppable"> 放置区域 </div>

在上面的代码中,我们使用了 jEasyUI 提供的 easyui-draggableeasyui-droppable 类来标识拖动源和放置目标。这些类会自动绑定相应的拖动和放置事件处理程序。

接下来,我们需要在 JavaScript 中配置拖动源和放置目标的属性和事件。以下是完整的 JavaScript 代码:

javascriptCopy Code
$(function() { $('#dragSource').draggable({ revert: true }); $('#dropTarget').droppable({ onDrop: function(source) { $(this).append(source); } }); });

在上面的代码中,我们使用了 jEasyUI 提供的 draggabledroppable 方法来分别配置拖动源和放置目标的属性和事件。其中:

  • revert: true 表示拖动源会在放置目标外部被释放时返回原位置。
  • onDrop 事件处理程序会在拖动源被放置到放置目标内部时被调用。在本例中,我们使用 jQuery 的 append 方法将拖动源添加到放置目标内部。

实例二:更复杂的拖动和放置

以下是一个更复杂的拖动和放置示例,包括多个拖动源和多个放置目标。

htmlCopy Code
<div id="source1" class="easyui-draggable"> 拖我 1 </div> <div id="source2" class="easyui-draggable"> 拖我 2 </div> <div id="source3" class="easyui-draggable"> 拖我 3 </div> <div id="target1" class="easyui-droppable"> 放置区域 1 </div> <div id="target2" class="easyui-droppable"> 放置区域 2 </div>

在上面的代码中,我们定义了三个拖动源和两个放置目标。接下来,我们需要在 JavaScript 中配置每个拖动源和每个放置目标的属性和事件。以下是完整的 JavaScript 代码:

javascriptCopy Code
$(function() { $('.easyui-draggable').draggable({ revert: true, proxy: 'clone' }); $('.easyui-droppable').droppable({ onDragEnter: function(source) { $(this).addClass('highlight'); }, onDragLeave: function(source) { $(this).removeClass('highlight'); }, onDrop: function(source) { $(this).append(source); } }); });

在上面的代码中,我们使用了 jEasyUI 提供的选择器来选取所有的拖动源和放置目标。其中:

  • proxy: 'clone' 表示拖动源会被克隆一份并将其拖动副本作为代理物件进行拖动操作。
  • onDragEnteronDragLeave 事件处理程序会在拖动源进入和离开放置目标时被调用。在本例中,我们使用 jQuery 的 addClassremoveClass 方法来改变放置目标的样式以表示当前状态。
  • onDrop 事件处理程序和前一个例子一样,会在拖动源被放置到放置目标内部时被调用。

总结

本文介绍了 jEasyUI 基本的拖动和放置功能,并通过实例演示了如何使用。jEasyUI 提供丰富的 UI 组件和交互功能,可以帮助开发者快速构建强大、可靠、易用的 Web 应用程序。