news 2026/5/10 18:53:52

jQuery EasyUI 拖放 - 基本的拖动和放置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jQuery EasyUI 拖放 - 基本的拖动和放置

jQuery EasyUI 拖放 - 基本的拖动和放置

jQuery EasyUI提供了draggable(可拖动)和droppable(可放置)插件,实现基本的拖放(Drag and Drop)功能。这些插件允许用户通过鼠标拖动元素,并放置到指定区域,常用于交互式界面如排序、购物车等。

本教程演示最基本的拖放:创建几个可拖动的方块,并定义一个放置区域。当拖动元素放入放置区时,显示提示并改变样式。

官方参考:

  • 基本拖放教程:https://www.jeasyui.com/tutorial/dd/dnd1.php
  • Draggable 文档:https://www.jeasyui.com/documentation/draggable.php
  • Droppable 文档:https://www.jeasyui.com/documentation/droppable.php
  • 在线 Demo:https://www.jeasyui.com/tutorial/dd/dnd1_demo.html
步骤 1: 引入 EasyUI 资源
<linkrel="stylesheet"type="text/css"href="https://www.jeasyui.com/easyui/themes/default/easyui.css"><linkrel="stylesheet"type="text/css"href="https://www.jeasyui.com/easyui/themes/icon.css"><scripttype="text/javascript"src="https://code.jquery.com/jquery-1.12.4.min.js"></script><scripttype="text/javascript"src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
步骤 2: 创建 HTML 结构

创建三个可拖动元素(div)和一个放置区域。

<divid="dd1"class="dd-demo">Draggable 1</div><divid="dd2"class="dd-demo">Draggable 2</div><divid="dd3"class="dd-demo">Draggable 3</div><divid="drop"class="dd-drop">Drop here</div><style>.dd-demo{width:100px;height:100px;background:#fafafa;border:1px solid #ccc;margin:10px;padding:20px;text-align:center;float:left;cursor:move;}.dd-drop{width:300px;height:200px;background:#fff;border:2px dashed #ccc;margin:50px auto;text-align:center;line-height:200px;font-size:20px;clear:both;}.over{border:2px dashed #000;background:#ff0;}</style>
步骤 3: JavaScript 实现拖动和放置

使用.draggable()使元素可拖动,使用.droppable()定义放置区,并处理事件。

<scripttype="text/javascript">$(function(){// 使三个 div 可拖动$('#dd1').draggable({revert:true,// 未放入有效区时回弹proxy:'clone'// 拖动时显示克隆代理(可选)});$('#dd2').draggable({revert:true,cursor:'move',handle:null// 整个元素都可拖动});$('#dd3').draggable({revert:true,proxy:function(source){varp=$('<div class="proxy">Proxy</div>');p.html($(source).html()).appendTo('body');returnp;}// 自定义代理元素});// 定义放置区$('#drop').droppable({accept:'.dd-demo',// 只接受 .dd-demo 类的元素onDragEnter:function(e,source){$(this).addClass('over');// 拖入时高亮},onDragLeave:function(e,source){$(this).removeClass('over');// 拖出时恢复},onDrop:function(e,source){$(this).removeClass('over');$(this).append(source);// 将拖动元素追加到放置区$(this).html('Dropped! '+$(source).html());}});});</script>
关键说明
  • draggable选项:
    • revert: true:如果未放入有效 droppable,回弹到原位。
    • proxy: 'clone':拖动时显示克隆副本,原元素不动。
    • proxy: function:自定义代理显示。
  • droppable事件:
    • onDragEnter/onDragLeave:拖入/拖出时改变样式,提供视觉反馈。
    • onDrop:放置成功时执行操作(如追加元素、更新数据)。
    • accept:限制只接受特定选择器的 draggable。
  • 视觉效果:拖动时元素有半透明代理,放置区有高亮反馈。
运行效果
  • 用户可以拖动三个方块。
  • 当拖入放置区时,边框变黑并背景变黄。
  • 放置后,方块被追加到放置区,并显示 “Dropped!” 消息。

更多高级应用:

  • 拖放购物车:https://www.jeasyui.com/tutorial/dd/dnd2.php
  • 拖放课程表:https://www.jeasyui.com/tutorial/dd/dnd3.php

如果需要完整源码、自定义代理效果、或结合 datagrid/tree 的拖放示例,请提供更多细节!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 12:49:58

jQuery EasyUI 拖放 - 创建拖放的购物车

jQuery EasyUI 拖放 - 创建拖放的购物车 使用 jQuery EasyUI 的 draggable 和 droppable 插件&#xff0c;可以轻松实现一个交互式的拖放购物车应用。用户可以将商品图片拖动到购物车区域&#xff0c;系统自动添加商品、更新数量&#xff08;重复拖动时增加数量&#xff09;和…

作者头像 李华
网站建设 2026/5/5 18:15:49

jQuery EasyUI 菜单与按钮 - 创建简单的菜单

jQuery EasyUI 菜单与按钮 - 创建简单的菜单 jQuery EasyUI 提供了强大的 Menu&#xff08;菜单&#xff09;和 LinkButton&#xff08;链接按钮&#xff09;组件。本教程将展示如何创建最基本的下拉菜单&#xff08;包括顶级菜单和子菜单&#xff09;、上下文菜单&#xff08…

作者头像 李华
网站建设 2026/5/9 21:25:08

编程新人别硬卷!网安:起薪高20%,3年就能当骨干

为什么说学编程不如直接去学网络安全&#xff1f; 一、先看一组扎心对比&#xff1a;市场真的不一样 程序员 &#xff1a;2024 智联招聘数据显示&#xff0c;Java 开发岗平均 1 岗 38 人竞争&#xff0c;应届生起薪中位数仅 7800 元&#xff1b;某大厂 2024 校招开发岗简历通过…

作者头像 李华
网站建设 2026/5/10 3:42:37

【Linux 基础知识系列:第二百零三篇】Linux 系统账户安全加固

一、简介&#xff1a;为什么要“折腾”账户安全&#xff1f;MITRE ATT&CK 矩阵把“Valid Accounts”列为 Top 1 入口&#xff1a;2022 年 80% 勒索软件通过 弱口令/爆破 root 入场。合规要求&#xff1a;等保 2.0 要求“默认账户管理、口令复杂度、权限最小化”。SOC2、ISO…

作者头像 李华
网站建设 2026/5/9 10:34:18

通达信彩带表示的macd

{}W:1; M:1; MM:9*M; SHORT:MM*4/3; LONG:MM*26/9; DIFF:(EMA(CLOSE,SHORT)-EMA(CLOSE,LONG)); DEA:EMA(DIFF,MM),COLOR58FF58; MACD:2*(DIFF-DEA),COLORFFFF00,LINETHICK0; 红柱:DRAWBAND(MACD,RGB(180,50,50),0,RGB(0,128,0)); 绿柱:DRAWBAND(0,RGB(0,128,0),MACD,RGB(180,50…

作者头像 李华