droppable放置组件

时间:2022-11-10 05:25:03

Droppable 放置组件
所谓放置,就将一个事物入一个事物内触发各种效果,这个组件不依赖于其他组件。
1、加载方式
//class 调用
<div id="dd" class="easyui-droppable" data-options="accept:#box,#pox" style="background:black;width:600px;height:400px;">
</div>
//JS调用
$("#box").droppable({
accept:"#box,#pox"
});

2、属性列表
accept selector 默认值为null,确定哪些元素被接受
disabled boolean 默认为false,如果为true,则禁止放置

3、事件
onDragEnter e,source 当可拖动元素被拖进来时触发,source参数指被拖动的dom元素
onDragOver e,source 当可拖动的元素被拖放时触发。source参数指被拖动的dom元素
onDrogLeave e,source 当可拖动的元素被拖离开时触发。source参数指被拖动的dom元素
onDrop e,source 当可拖动元素被放下时触发。source参数指被拖动的dom元素

4、方法
options none 返回选项(options)对象
enable none 启用可放置功能
disable none 禁用可防止功能

只有放置组件接受拖动的组件,放置组件的事件才能生效.
如果设置了disabled属性为true,则对应放置组件的事件也失去效果
onDragEnter 只执行一次,先于onDragOver执行,onDragOver托定的过程中一直执行。
onDrop是拖动到放置区,放置那一瞬间触发的操作
disable和enable和disabled的效果差不多。

设置默认组件的配置:
如:$.fn.droppable.defaults.disabled = true;

注意:disabled属性会和enable和disable方法冲突,最后一个为准。

<html>
<title>index</title>
<head>
<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" class="easyui-droppable" options="accept:'#box,#pox'" style="width:600px;height:400px;background-color:black;">
</div>
-->
<div id="dd" style="width:600px;height:400px;background-color:black;">
</div>
<div id="box" style="width:100px;height:100px;background:#ccc">
内容
</div>
</body>
</html> $(function(){
//$.fn.droppable.defaults.disabled = true;
$("#dd").droppable({
accept : "#box",
//disabled : true,
onDragEnter : function(e , source){
//console.log(source);
$(this).css("background","blue");
// alert(1);
},
//onDragOver : function(e , source){
//$(this).css("background","orange");
//alert(2);
//},
onDragLeave : function(e , source){
$(this).css("background","red");
},
onDrop : function(e , source){
$(this).css("background","orange");
}
});
//$("#dd").droppable('disable');
//$("#dd").droppable('enable');
$("#box").draggable({ }); //console.log($("#dd").droppable('options')); //$("#dd").draggable("enable"); });