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 相关文章推荐
JQuery将文本转化成JSON对象需要注意的问题
May 09 Javascript
如何将JS的变量值传递给ASP变量
Dec 10 Javascript
bootstrap基础知识学习笔记
Nov 02 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
Feb 03 Javascript
angularJs中datatable实现代码
Jun 03 Javascript
angularJs的ng-class切换class
Jun 23 Javascript
Vue.extend构造器的详解
Jul 17 Javascript
使用JavaScript进行表单校验功能
Aug 01 Javascript
深入理解JavaScript 中的执行上下文和执行栈
Oct 23 Javascript
一些可能会用到的Node.js面试题
Jun 15 Javascript
JavaScript Image对象实现原理实例解析
Aug 26 Javascript
用JS写一个发布订阅模式
Nov 07 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入门学习笔记之一
2010/10/12 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
javascript第一课
2007/02/27 Javascript
javascript 对象比较实现代码
2009/04/27 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
使用Browserify配合jQuery进行编程的超级指南
2015/07/28 Javascript
深入浅析AngularJS和DataModel
2016/02/16 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
python让列表倒序输出的实例
2018/06/25 Python
Django框架模型简单介绍与使用分析
2019/07/18 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
数据库面试要点基本概念
2013/10/31 面试题
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
办公室综合文员岗位职责范本
2014/02/13 职场文书
环保倡议书100字
2014/05/15 职场文书
部队2014年终工作总结
2014/11/27 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
七一晚会主持词
2015/06/29 职场文书
酒店温馨提示语
2015/07/14 职场文书
python字符串常规操作大全
2021/05/02 Python