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-TreeView父子联动效果保持节点状态一致
Aug 12 Javascript
jValidate 基于jQuery的表单验证插件
Dec 12 Javascript
javascript打开word文档的方法
Apr 16 Javascript
JavaScript学习笔记之JS事件对象
Jan 22 Javascript
JS表的模拟方法
Feb 05 Javascript
JavaScript实现点击自动选择TextArea文本的方法
Jul 02 Javascript
利用JavaScript如何查询某个值是否数组内
Jul 30 Javascript
React如何将组件渲染到指定DOM节点详解
Sep 08 Javascript
在Vue中使用icon 字体图标的方法
Jun 14 Javascript
javaScript把其它类型转换为Number类型
Oct 13 Javascript
vue点击按钮动态创建与删除组件功能
Dec 29 Javascript
Js视频播放器插件Video.js使用方法详解
Feb 04 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实现汉字验证码和算式验证码的方法
2015/03/07 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
php获取linux命令结果的实例
2017/03/13 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
2015/06/23 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
详解webpack loader和plugin编写
2018/10/12 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
使用python装饰器验证配置文件示例
2014/02/24 Python
简单介绍Python中的floor()方法
2015/05/15 Python
python执行使用shell命令方法分享
2017/11/08 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
python如何通过实例方法名字调用方法
2018/03/21 Python
pyenv虚拟环境管理python多版本和软件库的方法
2019/12/26 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
2020/05/11 Python
python中的列表和元组区别分析
2020/12/30 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
个人工作作风整改措施思想汇报
2014/10/13 职场文书
承诺函范文
2015/01/21 职场文书
感谢信模板大全
2015/01/23 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技
Python内置的数据类型及使用方法
2022/04/13 Python