easyui Droppable组件实现放置特效


Posted in Javascript onAugust 19, 2015

所谓放置,就是将一个物体放入一个物体内,当然对于easyui来说触发各种效果是必不可少的,同时这个组件也不会依赖于其他组件。

Droppable的加载方式

1,class  加载   一直不太喜欢class方式的加载  浪费一个位置,代码一多还看着乱七八糟的。

<div id='dd' class="easyui-droppable" data-options="accept:'#box,#pox'"></div>

2,js 加载调用

$("#box").droppable({
  accept:'#pox',     //将元素pox 放置在元素box中
});

Droppable的属性

1,accept

默认为null,确定哪些元素被接受,也就是那个元素能被放置

$("#box").droppable({
  accept:'#pox',     //将元素pox 放置在元素box中
});

2,deisabled

默认为false   如果为true,则禁止放置

$("#box").droppable({
  accept:'#pox',     //将元素pox 放置在元素box中
  disabled : true ,    //禁止放置
});

Droppable 事件列表

1,onDragEnter  在被拖拽元素到放置区域内的时候触发

2,onDragOver 在被拖拽元素经过放置区域的时候触发

3,onDragLeave  在被拖拽元素离开放置区域的时候触发

4,onDrop  在被拖拽元素放入到放置区的时候触发

onDragEnter /onDragOver/onDragLeave/onDrop: function (e,source){
   //source 参数获取DOM元素
 }

Droppable 方法列表

1,options 返回属性对象

console.log($('#box').droppable('options'));

2,enable,disable 和上面属性的功能是一样的  分别是启用和禁止放置

$('#box').droppable('enable/disable')

给大家展示下官方的示例吧

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Accept a Drop - jQuery EasyUI Demo</title>
 <link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.6/themes/metro/easyui.css">
 <link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.6/themes/icon.css">
 <link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.6/demo/demo.css">
 <script type="text/javascript" src="jquery-easyui-1.3.6/jquery.min.js"></script>
 <script type="text/javascript" src="jquery-easyui-1.3.6/jquery.easyui.min.js"></script>
</head>
<body>
 <div style="margin:20px 0;"></div>
 <div id="source" style="border:1px solid #ccc;width:300px;height:400px;float:left;margin:5px;">
  drag me!
  <div id="d1" class="drag">Drag 1</div>
  <div id="d2" class="drag">Drag 2</div>
  <div id="d3" class="drag">Drag 3</div>
 </div> 
 <div id="target" style="border:1px solid #ccc;width:300px;height:400px;float:left;margin:5px;">
  drop here!
 </div>
 <div style="clear:both"></div>
 <style type="text/css">
  .drag{
   width:100px;
   height:50px;
   padding:10px;
   margin:5px;
   border:1px solid #ccc;
   background:#AACCFF;
  }
  .dp{
   opacity:0.5;
   filter:alpha(opacity=50);
  }
  .over{
   background:#FBEC88;
  }
 </style>
 <script>
  /**
  使用js方式将元素设置为可draggable的
  */
  $(function(){
   $('.drag').draggable({
    proxy:'clone',
    revert:true,
    cursor:'pointer',
    onStartDrag:function(){
     $(this).draggable('options').cursor='not-allowed';//设置鼠标样式为不可拖动
     $(this).draggable('proxy').addClass('dp');//设置样式
    },
    onStopDrag:function(){
     $(this).draggable('options').cursor='auto';//设置鼠标
    }
   });
   //将容易置为droppable并且可接受元素
   $('#target').droppable({
    accept:'#d1,#d3',
    onDragEnter:function(e,source){//拖入
     $(source).draggable('options').cursor='auto';
     $(source).draggable('proxy').css('border','1px solid red');
     $(this).addClass('over');
    },
    onDragLeave:function(e,source){//脱离
     $(source).draggable('options').cursor='not-allowed';
     $(source).draggable('proxy').css('border','1px solid #ccc');
     $(this).removeClass('over');
    },
    onDrop:function(e,source){//放下
     $(this).append(source)
     $(this).removeClass('over');
     alert("我被放下了");
    } ,
    //onDropOver当元素被拖出(成功放入到某个容器)的时候触发
    onDragOver:function(e,source){
      alert("我被拖出去了");//先于alert("我被放下了");执行,表明其触发在onDrop之前。
   }
   });
  });
 </script>
 
</body>
</html>

          运行效果图这里就不给出了,官网直接就可以查看。OVER!

          效果地址: http://www.jeasyui.com/demo/main/index.php?plugin=Droppable&theme=default&dir=ltr&pitem=

easyui 1.3.5 Droppable 就此完结。

Javascript 相关文章推荐
js综合应用实例简单的表格统计
Sep 03 Javascript
ListBox实现上移,下移,左移,右移的简单实例
Feb 13 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
Apr 02 Javascript
Flash图片上传组件 swfupload使用指南
Mar 14 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
Mar 21 jQuery
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
AngularJS基于MVC的复杂操作实例讲解
Dec 31 Javascript
10分钟上手vue-cli 3.0 入门介绍
Apr 04 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
Sep 29 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
Mar 28 Javascript
如何修改Vue打包后文件的接口地址配置的方法
Apr 22 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
Dec 16 Javascript
js实现简单的联动菜单效果
Aug 19 #Javascript
javascript 使用for循环时该注意的问题-附问题总结
Aug 19 #Javascript
jQuery满意度星级评价插件特效代码分享
Aug 19 #Javascript
easyui Draggable组件实现拖动效果
Aug 19 #Javascript
使用CamanJS在Web页面上处理图像的技巧
Aug 18 #Javascript
JS实现下拉菜单赋值到文本框的方法
Aug 18 #Javascript
JS实现可调整倒计时间代码分享
Aug 18 #Javascript
You might like
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
eval的两组性能测试数据
2012/08/17 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
python 获取本机ip地址的两个方法
2013/02/25 Python
Python中threading模块join函数用法实例分析
2015/06/04 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
Django学习之文件上传与下载
2019/10/06 Python
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
Java如何读取CLOB字段
2013/10/10 面试题
关键字throw与throws的用法差异
2016/11/22 面试题
超市实习总结自我鉴定
2013/09/19 职场文书
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
广告学专业推荐信范文
2013/11/23 职场文书
超级搞笑检讨书
2014/01/15 职场文书
爱心活动计划书
2014/04/26 职场文书
水电工岗位职责
2015/02/14 职场文书
行为规范主题班会
2015/08/13 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
Mysql中常用的join连接方式
2022/05/11 MySQL