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 相关文章推荐
浏览器无法运行JAVA脚本的解决方法
Jan 09 Javascript
JavaScript中的prototype.bind()方法介绍
Apr 04 Javascript
JavaScript实现的简单拖拽效果
Jun 01 Javascript
JS中处理时间之setUTCMinutes()方法的使用
Jun 12 Javascript
AngularJS入门教程之REST和定制服务详解
Aug 19 Javascript
jQuery图片拖动组件Dropzone用法示例
Jan 17 Javascript
JavaScript函数基础详解
Feb 03 Javascript
jquery实现数字输入框
Feb 22 Javascript
Map.vue基于百度地图组件重构笔记分享
Apr 17 Javascript
JavaScript基于面向对象实现的猜拳游戏
Jan 03 Javascript
vue最简单的前后端交互示例详解
Oct 11 Javascript
解决vue组件props传值对象获取不到的问题
Jun 06 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
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
PHP实现二维数组按某列进行排序的方法
2016/11/18 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
express文件上传中间件Multer详解
2016/10/24 Javascript
react-native之ART绘图方法详解
2017/08/08 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
Python实现从订阅源下载图片的方法
2015/03/11 Python
Python实现12306火车票抢票系统
2019/07/04 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
最小二乘法及其python实现详解
2020/02/24 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
九州传奇上机题
2014/07/10 面试题
大学生自荐信
2013/12/11 职场文书
化学教师自荐信范文
2013/12/28 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
听证通知书
2015/04/24 职场文书
如何才能写好调研报告?
2019/07/03 职场文书
python办公自动化之excel的操作
2021/05/23 Python
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python