学习要点:
1.加载方式
2.属性列表
3.事件列表
4.方法列表
本节重点了解 EasyUI 中 Droppable(放置)组件的使用方法,所谓放置,就将一个物体入某一个物体内触发各种效果,这个组件不依赖于其他组件
一.加载方式
加载方式的其它组件是一样的,都可以使用Class加载和JS加载
class加载方式
<!DOCTYPE html>
<html>
<head>
<title>jQuery Easy UI</title>
<meta charset="UTF-8" />
<script type="text/javascript" src="easyui/jquery.min.js"></script>
<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js" ></script>
<script type="text/javascript" src="js/index.js"></script>
<link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css" />
<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
</head>
<body>
<div id="dd" style="width:600px;height:400px;background:black"></div>
</body>
</html>
JS加载
$('#box').draggable({
});
参数是对象类型
二. 属性列表
Draggable 组件共有二个属性,分别是:accept和disabled
//属性设置
$('#dd').droppable({
accept : '#box',//selector 选择器的名称,可以ID选择器,也可以是class选择器 默认为 null,确定哪些元素被接收
disabled : true,//boolean 布尔值 默认为 false,如果为 true,则禁止放置
});
三. 事件列表
Droppable组件一共有四个事件,分别是:onDragEnter、onDragOver、onDragLeave、onDrop。
PS:source 参数获取 DOM 元素。
$('#dd').droppable({
accept : '#box',
onDragOver : function (e, source) { //参数是e,source 被拖拽元素经过放置区的时候触发
$(this).css('background', 'blue');
},
onDragEnter : function (e, source) {//参数是e,source 在被拖拽元素到放置区内的时候触发
$(this).css('background', 'orange');
},
onDragLeave : function (e, source) {//e,source 在被拖拽元素离开放置区的时候触发
$(this).css('background', 'green');
},
onDrop : function (e, source) {//e,source 在被拖拽元素放入到放置区的时候触发
$(this).css('background', 'maroon');
},
});
四. 方法列表
Droggable 方法
options方法,值是none;说明 返回属性对象
enable 方法,值是none;说明 启用放置功能
disable 方法,值是none;说明 禁用放置功能
//返回属性对象
console.log($('#box').droggable('options'));
//禁止放置
$('#box').draggable('disable');
//启用放置
$('#box').draggable('enable');
$.fn.droppable.defaults.disabled = true;
PS:我们可以使用$.fn.droppable.defaults 重写默认值对象。 重写对象比较推荐放在代码的前面
本节所有代码如下所示
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>jQuery Easy UI</title>
5 <meta charset="UTF-8" />
6 <script type="text/javascript" src="easyui/jquery.min.js"></script>
7 <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
8 <script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js" ></script>
9 <script type="text/javascript" src="js/index.js"></script>
10 <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css" />
11 <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
12 </head>
13 <body>
14 <div id="dd" style="width:600px;height:400px;background:black"></div>
15 <div id="box" style="width:100px;height:100px;background:#ccc;">
16 <span id="pox">内容部分</span>
17 </div>
18 </body>
19 </html>
JS代码
1 $(function () {
2 $.fn.droppable.defaults.disabled = true;
3 $('#dd').droppable({
4 accept : '#box',
5 disabled : false,
6 onDragEnter : function (e, source) {
7 //console.log(source);
8 $(this).css('background', 'blue');
9 //alert('enter');
10 },
11 onDragOver : function (e, source) {
12 //console.log(source);
13 $(this).css('background', 'orange');
14 //alert('over');
15 },
16 onDragLeave : function (e, source) {
17 //console.log(source);
18 $(this).css('background', 'green');
19 //alert('over');
20 },
21 onDrop : function (e, source) {
22 //console.log(source);
23 $(this).css('background', 'maroon');
24 //alert('over');
25 },
26 //onDragEnter只触发一次,而Over会在不停的拖动中不停触发
27 //onDrop是放入到放置区,松开鼠标左键,丢下的操作
28 });
29
30 //console.log($('#dd').droppable('options'));
31
32 //$('#dd').droppable('disable');
33 //$('#dd').droppable('enable');
34 $('#box').draggable({
35
36 });
37
38 });
完毕!!!
转载于:https://my.oschina.net/myfirtyou/blog/624317