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 相关文章推荐
javascript算法学习(直接插入排序)
Apr 12 Javascript
javascript错误的认识不用关心内存管理
Dec 15 Javascript
js去空格技巧分别去字符串前后、左右空格
Oct 21 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
Apr 10 Javascript
jQuery源码解读之removeAttr()方法分析
Feb 20 Javascript
Function.prototype.apply()与Function.prototype.call()小结
Apr 27 Javascript
Bootstrap3.0学习教程之JS折叠插件
May 27 Javascript
jQuery简单实现页面元素置顶时悬浮效果示例
Aug 01 Javascript
原生JS实现圣旨卷轴展开效果
Mar 06 Javascript
angularjs $http调用接口的方式详解
Aug 13 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
May 16 Javascript
js刷新页面location.reload()用法详解
Dec 09 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原理之Session Gc的一个小概率Notice
2011/04/12 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
php+xml编程之xpath的应用实例
2015/01/24 PHP
php基本函数汇总
2015/07/09 PHP
基于win2003虚拟机中apache服务器的访问
2017/08/01 PHP
jquery 表单下所有元素的隐藏
2009/07/25 Javascript
jQuery Ajax提交表单查询获得数据实例代码
2012/09/19 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
浅谈react.js中实现tab吸顶效果的问题
2017/09/06 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
2019/10/14 Javascript
给你选择Python语言实现机器学习算法的三大理由
2017/11/15 Python
python opencv人脸检测提取及保存方法
2018/08/03 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
体育专业个人求职信范文
2013/12/27 职场文书
《穷人》教学反思
2014/04/08 职场文书
秋天的雨教学反思
2014/04/27 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
四风问题个人对照检查剖析材料
2014/09/27 职场文书
机关作风建设自查报告
2014/10/22 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
用Python简陋模拟n阶魔方
2021/04/17 Python
MySQL系列之十一 日志记录
2021/07/02 MySQL
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS
实战 快速定位MySQL的慢SQL
2022/03/22 MySQL
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL