一、创建组件

1.使用标签创建一个放置区

<div id="pox" class="easyui-droppable" style="width: 200px; height: 100px; left: 100px; background:cyan"></div>

2.使用JavaScript创建一个放置区

<div id="pox" style="width: 200px; height: 100px; left: 100px; background:cyan"></div>
<script>
$(function () {
$("#pox").droppable();
})
</script>

二、属性

1.accept:哪些元素会对放置区有影响

<div id="pox" style="width: 200px; height: 100px; left: 100px; background:cyan">放置区</div>
<div id="box1" style="width:100px;height:50px;left:100px;background:lightcoral">物品1</div>
<div id="box2" style="width:100px;height:50px;left:100px;background:darkseagreen">物品2</div>
<script>
$(function() {
$("#box1").draggable();
$("#box2").draggable();
$("#pox").droppable({
accept: "#box1,#box2",
onDragEnter: function(e, source) {
//source分别放入的物体,即box1对象,box2对象
alert($(source).html());
},
});
});
</script>

2.disabled:如果为true,则禁止放置,即放置没有效果

<div id="pox" style="width: 200px; height: 100px; left: 100px; background:cyan">放置区</div>
<div id="box1" style="width:100px;height:50px;left:100px;background:lightcoral">物品1</div>
<div id="box2" style="width:100px;height:50px;left:100px;background:darkseagreen">物品2</div>
<script>
$(function () {
$("#box1").draggable();
$("#box2").draggable();
$("#pox").droppable({
accept: "#box1,#box2",
disabled: true,
onDragEnter: function (e, source) {
//不会弹出任何东西
alert($(source).html());
},
});
});
</script>

三、事件

1.onDragEnter:在被拖拽元素到放置区内的时候触发,source参数表示被拖拽的DOM元素

<div id="pox" style="width: 200px; height: 100px; left: 100px; background:cyan">放置区</div>
<div id="box" style="width:100px;height:50px;left:100px;background:lightcoral">物品</div>
<script>
$(function () {
$("#box").draggable();
$("#pox").droppable({
accept: "#box",
onDragEnter: function (e, source) {
$(this).css("background", "red");;
},
});
});
</script>

2.onDragLeave:在被拖拽元素离开放置区的时候触发,source参数表示被拖拽的DOM元素

<div id="pox" style="width: 200px; height: 100px; left: 100px; background:cyan">放置区</div>
<div id="box" style="width:100px;height:50px;left:100px;background:lightcoral">物品</div>
<script>
$(function () {
$("#box").draggable();
$("#pox").droppable({
accept: "#box",
onDragEnter: function (e, source) {
$(this).css("background", "red");;
},
onDragLeave: function (e, source) {
$(this).css("background", "yellow");
}
});
});
</script>

3.onDrop:在被拖拽元素放入到放置区的时候触发,source参数表示被拖拽的DOM元素

<div id="pox" style="width: 200px; height: 100px; left: 100px; background:cyan">放置区</div>
<div id="box" style="width:100px;height:50px;left:100px;background:lightcoral">物品</div>
<script>
$(function () {
$("#box").draggable();
$("#pox").droppable({
accept: "#box",
onDragEnter: function (e, source) {
$(this).css("background", "red");;
},
onDragLeave: function (e, source) {
$(this).css("background", "yellow");
},
onDrop: function (e, source) {
$(this).css("background", "green");
}
});
});
</script>

4.onDragOver:在被拖拽元素经过放置区的时候触发,source参数表示被拖拽的DOM元素

<div id="pox" style="width: 200px; height: 100px; left: 100px; background:cyan">放置区</div>
<div id="box" style="width:100px;height:50px;left:100px;background:lightcoral">物品</div>
<script>
$(function () {
$("#box").draggable();
$("#pox").droppable({
accept: "#box",
onDragEnter: function (e, source) {
$(this).css("background", "red");;
},
onDragLeave: function (e, source) {
$(this).css("background", "yellow");
},
onDrop: function (e, source) {
$(this).css("background", "green");
},
onDragOver: function (e, source) {
$(this).css("background", "orange");
}
});
});
</script>

四、方法

1.options:返回属性对象

<div id="pox" style="width: 200px; height: 100px; left: 100px; background:cyan">放置区</div>
<div id="box" style="width:100px;height:50px;left:100px;background:lightcoral">物品</div>
<script>
$(function () {
$("#pox").droppable({
accept: "#box"
});
console.log($("#pox").droppable("options"));
});
</script>

2.disable:禁用放置功能

<div id="pox" style="width: 200px; height: 100px; left: 100px; background:cyan">放置区</div>
<div id="box" style="width:100px;height:50px;left:100px;background:lightcoral">物品</div>
<script>
$(function () {
$("#box").draggable();
$("#pox").droppable({
accept: "#box",
onDragEnter: function (e, source) {
$(this).css("background", "red");;
},
});
//放置物品不会变色
$("#pox").droppable("disable");
});
</script>

3.enable:启用放置功能

<div id="pox" style="width: 200px; height: 100px; left: 100px; background:cyan">放置区</div>
<div id="box" style="width:100px;height:50px;left:100px;background:lightcoral">物品</div>
<script>
$(function () {
$("#box").draggable();
$("#pox").droppable({
accept: "#box",
onDragEnter: function (e, source) {
$(this).css("background", "red");;
},
});
$("#pox").droppable("disable");
//放置区会变色
$("#pox").droppable("enable");
});
</script>

五、重写默认对象

1.使用$.fn.droppable.defaults重写默认值对象

<div id="pox" style="width: 200px; height: 100px; left: 100px; background:cyan">放置区</div>
<div id="box" style="width:100px;height:50px;left:100px;background:lightcoral">物品</div>
<script>
$(function () {
$.droppable.defaults.disabled = true;
$("#box").draggable();
$("#pox").droppable({
accept: "#box",
onDragEnter: function (e, source) {
$(this).css("background", "red");;
},
});
});
</script>

EasyUI系列学习(四)-Droppable(放置)的更多相关文章

  1. 第一百九十四节,jQuery EasyUI,Droppable(放置)组件

    jQuery EasyUI,Droppable(放置)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Droppable(放置)组件的使用方 ...

  2. jQuery Easy UI Droppable(放置)组件

    Droppable(放置)组件也是一个基本组件,使用方法较简单,语法都在样例里面凝视了: 演示样例: <!DOCTYPE html> <html> <head> & ...

  3. droppable放置组件

    Droppable 放置组件 所谓放置,就将一个事物入一个事物内触发各种效果,这个组件不依赖于其他组件.1.加载方式 //class 调用 <div id="dd" clas ...

  4. Droppable(放置组件)

    一.class加载方式 <div id="pop" class="easyui-droppable" style="width: 400px;h ...

  5. Droppable(放置)组件

    .加载方式 //class 加载方式 <div id="dd" class="easyui-droppable" data-options="a ...

  6. EasyUI系列学习(二)-使用EasyUI

    一.引入必要文件 <!--1.0引入jQuery核心库--> <script src="jquery-easyui-1.4.4/jquery.min.js"> ...

  7. EasyUI系列学习笔记(一)——注册

    前面介绍过EasyUI是一个前段框架,开发之前需要导入底层包:我这里采用的是EasyUI 1.4版本~ 今天主要是搭建一个EasyUI的环境,同时做一个登陆页面... 环境搭建 导入需要的文件到项目中 ...

  8. EasyUI系列学习(十一)-Accordion(分类)

    一.加载 1.class加载 <div class="easyui-accordion" style="width:300px;height:200px" ...

  9. EasyUI系列学习(十)-Tabs(选项卡)

    一.创建组件 <div class="easyui-tabs" style="width:500px;height:250px"> <div ...

随机推荐

  1. 九度oj 题目1045:百鸡问题

    题目1045:百鸡问题 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:10418 解决:4559 题目描述: 用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一 ...

  2. noip模拟赛 密码

    题目描述 YJC把核弹发射密码忘掉了……其实是密码被加密了,但是YJC不会解密.密码由n个数字组成,第i个数字被加密成了如下形式:第k小的满足(2^L)|(P-1)且P为质数的P.YJC希望你能帮他算 ...

  3. poj 2823 二分法+单调队列

    #include<stdio.h> #include<string.h> #define N  1100000 int a[N]; int fmin[N],fmax[N]; i ...

  4. [codevs 1482]路线统计(矩阵乘法)

    题目:http://codevs.cn/problem/1482/ 分析:很像“经过K条边的最短路径条数”.但有所不同,那就是不是边数固定,而是路径总长度固定.看似不能用矩阵乘法了……但注意到每条边的 ...

  5. 深入解析Microsoft Sql server 2008

    http://blog.csdn.net/downmoon/article/details/5256548

  6. 使用CDN

    CDN的全称是Content Delivery Network.中文直译过来是:内容交付网络. 它的主要意思是,将某些内容进行交付的网络.对于站点开发而言,我们所讲的内容通常指的是内容文件(比如jav ...

  7. NYOJ_58最少步数(queue+BFS)

    描写叙述 这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1  1,0,0,1,0,0,1,0,1  1,0,0,1,1,0,0,0,1  1,0,1,0,1,1,0,1,1   ...

  8. 模块化开发(三)---通过node.js学习模块化开发

    由于改文章有点大,部分代码格式有点问题,编辑之后博客园莫名其妙推出,有问题可以留言沟通.   什么是Node? 它是一个在浏览器之外可以解析和执行javascript代码的运行环 境,或者说是一个运行 ...

  9. 通过代码获取log4net的文件路径

    http://stackoverflow.com/questions/1343749/get-log4net-log-file-in-c-sharp Solution is quite easy in ...

  10. WCF Odata 开放数据协议应用

    OData简介 说起 WCF Data Service ,不得不说的是 OData.对于一个标准的 Web 服务,它往往会提供了一些功能,比如说:订货.退货这些,然后使用者通过HTTP协议来使用这些功 ...