Draggable(拖动)组件 属性、事件、方法

Draggable(拖动)即实现页面元素的拖动效果。

一、加载方式

1.css样式加载:

<div id="box" class="easyui-draggable" style="width:200px;height:150px;background:#F5F6F7;">
    内容部分
</div>

使用css样式加载Draggable,方便快捷,但是不利于管理,所以我们有课第二种加载方式,使用Jquery方式加载,一般我们都会使用Jquery的方式进行加载。

2.Jquery方式加载:

//不加属性
$(‘#box‘).draggable();

//JS部分
$(‘#box‘).draggable({
    revert : true,        //拖动后是否回到起始位置,boolean类型
    cursor : ‘text‘,       //鼠标拖拽样式,十字,文本等
    handle : ‘#pox‘,       //句柄,设置后只在设置后只能在当前元素下实现拖拽
    disabled : false,       //设置是否可以被拖拽
    edge : 50,          //设置边界往内多大距离可以实现拖拽
    axis : ‘v‘,          //设置拖拽方向,v:垂直拖拽,h:水平拖拽
    proxy: ‘clone‘,        //设置代理元素,使用clone时为复制当前元素
    deltaX : 10,         //被拖拽元素左上角距离当前光标的X轴方向的距离
    deltaY : 10,         //被拖拽元素左上角距离当前光标的Y轴方向的距离  
    proxy: function(source){    //自定义代理元素
    var p = $(‘<div style="border:1px solid
    #ccc;width:400px;height:200px;"></div>‘);
    p.html($(source).html()).appendTo(‘body‘);
    return p;
    },
});

//HTML部分
<div id="box" style="width:400px;height:200px;background:red;">
    内容部分
</div>

二、事件

1.onBeforeDrag 拖动前发生

$(‘#box‘).draggable({
    onBeforeDrag : function (e) {
        alert(‘拖动之前触发!‘);
        //return false;
    }
});

在拖动前发生,既当鼠标点击元素时发生,当返回false时将无法拖拽,我们不会让它直接返回false,因为这样没有任何意义,在使用时应该有充足的逻辑判断。

2.onStartDrag 拖动开始时发生

$(‘#box‘).draggable({
    onStartDrag : function (e) {
        alert(‘拖动开始时触发!‘);
        //return false;
    }
});

在鼠标点击后拖动的一瞬间执行,执行时间在onBeforeDrag之后。

3.onDrag拖拽过程中执行

$(‘#box‘).draggable({
    onDrag : function (e) {
        alert(‘拖动过程中触发!‘);
    }
});

在拖动的过程中执行,当鼠标一移动就会执行,当不能拖动时返回false

4.onStopDrag 拖动停止后发生

$(‘#box‘).draggable({
    onStopDrag : function (e) {
        alert(‘在拖动停止时触发!‘);
    }
});

在拖动结束后触发,即松开鼠标时执行,无返回值。

5.以上事件可组合使用,执行顺序为onBeforeDrag --> onBeforeDrag --> onDrag --> onStopDrag

$(‘#box‘).draggable({
    onBeforeDrag : function (e) {
         alert(‘拖动之前触发!‘);
        //return false;
    },
    onStartDrag : function (e) {
       alert(‘拖动时触发!‘);
    },
    onDrag : function (e) {
        alert(‘拖动过程中触发!‘);
    },
    onStopDrag : function (e) {
        alert(‘在拖动停止时触发!‘);
},});

三、方法

  方法名             说明
option 返回属性对象
proxy 如果代理属性被设置则返回该拖动代理元素
enabl 允许拖
disable 禁止拖动
//返回属性对象
console.log($(‘#box‘).draggable(‘options‘));

//返回代理元素
onStartDrag : function (e) {
console.log($(‘#box‘).draggable(‘proxy‘));
},

//禁止拖动
$(‘#box‘).draggable(‘disable‘);

//允许拖放
$(‘#box‘).draggable(‘enable‘);

四、设置默认属性

在一次设置后当前页面所有拖拽都会共享这个属性,不用再去设置。

$(function(){
    $.fn.draggable.defaults.cursor = ‘text‘;
});
时间: 2024-12-19 01:06:21

Draggable(拖动)组件 属性、事件、方法的相关文章

第一百九十三节,jQuery EasyUI,Draggable(拖动)组件

Draggable(拖动)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Draggable(拖动)组件的使用方法,这个组件不依赖于其 他组件. 一.加载方式 //class 加载方式 <div id="box" class="easyui-draggable" style="width:400px;height:200px;background:red;"> 内容部分 &l

jQuery Easy UI Draggable(拖动)组件

上文已经提到过了 jQuery EasyUI插件引用一般我们常用的有两种方式(排除easyload加载方式),所以本篇要总结的Draggable组件同样有两种方式加载: (1).使用class加载方式: <div id="box" class="easyui-draggable" style="width:400px;height:200px;background:red;"> 内容部分 </div> (2).JS 加载调

Draggable(拖动)组件

1 一.加载方式 2 //class 加载方式 3 4 <div id="box" class="easyui-draggable" style="width:400px;height:200px;background:red;"> 内容部分 </div> 5 6 7 //JS 加载调用 8 9 $('#box').draggable(); 加载方式 属性列表 //属性设置 $('#box').draggable({ re

jQuery Colorpicker Spectrum api 中文 文档 属性 事件 方法

jQuery Colorpicker Spectrum 所需的CSS和JavaScript文件: <script src='spectrum.js'></script> <link rel='stylesheet' href='spectrum.css' /> 属性: // Options color: false,//初始化颜色 flat: false,//全尺寸, 定位一个inline-block元素 showInput: false,//显示输入 allowEmp

JQuery EasyUI---Draggable( 拖动) 组件

学习要点: 1.加载方式2.属性列表3.事件列表4.方法列表 本节重点了解 EasyUI 中 Draggable(拖动)组件的使用方法,这个组件不依赖于其他组件. 一. 加载方式 //class 加载方式  这种方式看起来html代码不干净,会污染html.建议使用JS的方式去加载 <!DOCTYPE html> <html> <head> <title>jQuery Easy UI</title> <meta charset="

[ExtJS学习笔记]第七节 Extjs的组件components及其模板事件方法学习

本文地址:http://blog.csdn.net/sushengmiyan/article/details/38487519 本文作者:sushengmiyan -------------------------------------------------------------资源链接----------------------------------------------------------------------- 翻译来源  Sencha Cmd官方网站: http://ww

Delphi中Twebbrowser的document 对象的属性、方法、事件一览(转)

Delphi中Twebbrowser的document 对象的属性.方法.事件一览(转) 2012-12-07 10:19:39|  分类: Delphi 零碎 |  标签:webbrowser  属性  方法  事件  delphi   |举报 |字号大中小 订阅 {ihtmldocument2 方法:}write //写入writeln //写入并换行open //打开一个流,以收集 document.write 或 document.writeln 的输出close //关闭并输出用 do

Autofac--一、注册组件--3属性和方法注入

官方文档:http://docs.autofac.org/en/latest/register/prop-method-injection.html Autofac 属性和方法注入 虽然构造函数参数注入是为组件传递值的首选方法,你也可以使用属性或方法注入提供值. 属性注入使用可写入的属性,而不是构造函数的参数进行注入.方法注入通过调用一个方法设置依赖关系. 1.属性注入 如果是一个lambda表达式组件,使用一个对象来初始化: builder.Register(c => new A { B =

jQuery事件对象的属性和方法

jQuery事件对象的属性和方法 事件对象的属于与方法有很多,但是我们经常用的只有那么几个,这里我主要说下作用与区别 event.type:获取事件的类型 触发元素的事件类型 $("a").click(function(event) { alert(event.type); // "click"事件 }); event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标 通过这2个属性,可以确定元素在当前页面的坐标值,鼠标相对于文档的左边缘的位置(