h5拖放-基础知识
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
li{
list-style: none;
width: 100px;
height: 30px;
background: red;
}
div {
width: 100px;
height: 50px;
background: blue;
margin: 200px;
}
</style>
</head>
<body>
<!-- 拖放:
1.draggable:true(可拖拽)/false(默认);
①在chorme/safari下可拖拽,但拖拽出来的是元素的副本,并且带有禁止标志,元素还是在原地;其他浏览器没反应(ie很诡异);
2.拖放事件:
①拖放元素事件:事件对象为被拖拽元素;
Ⅰdragstart:拖放前触发(按下去的时候是不会触发的,而一拖放的那一刻就触发了);
Ⅱdrag:拖拽开始与拖拽结束之间连续触发(与原生js中的onmousemove不同的是,onmousemove是鼠标移动的时候才触发,而drag是只要在开始与结束之间,不论鼠标动与不动,都在连续触发);
Ⅲdrageng:拖放结束触发(即鼠标按键抬起的一刻);
②目标元素事件:事件对象为目标元素;
Ⅰdragenter:移入目标元素的时候触发,相当于onmouseover,区别在于子级不会影响到父级;
Ⅱdragover:在dragenter和dragleave之间连续触发,相当于drag,只是对象不同而已;
Ⅲdragleave:移除目标元素的时候触发,相当于onmouseout,区别在于子级不会影响到父级;
Ⅳdrop:在目标元素上释放鼠标触发(前提是必须要阻止ondragover的默认事件)--除了ff;
3.事件的执行顺序:
①drop不触发的时候:-dragstart>drag>dragenter>dragover>dragleave>dragend;
②drap触发的时候(drapover的时候阻止默认事件):dragstart>drag>dragenter>dragovr>drop>dragend
4.不能释放的光标样式和能释放的光标样式不一样;
-->
<ul>
<li draggable="true">111</li>
<li draggable="true">222</li>
<li draggable="true">333</li>
</ul>
<div id="div"></div>
<script>
var aLi=document.getElementsByTagName('li');
var oDiv=document.getElementById('div');
for(var i =0;i<aLi.length;i++){
aLi[i].ondragstart= function () {
this.style.background='blue';
};
aLi[i].ondrag= function () {
//document.title=i++;
}
aLi[i].ondragend= function () {
this.style.background='red';
}
}
oDiv.ondragenter= function () {
this.style.background='red';
};
oDiv.ondragover= function (ev) {
document.title=i++;
ev=ev||event;
ev.preventDefault();
//return false;
}
oDiv.ondragleave= function () {
this.style.background='blue';
}
oDiv.ondrop= function () {
alert(123);
}
</script>
</body>
</html>
h5拖放-基础知识的更多相关文章
- HTML基础知识
一个完美的web前端攻城狮,所具备的专业素养有:HTML5.XHTML.CSS3.JavaScript.JQuery.PS.PHP等.所以说,我要学的东西还有很多... 没别得,我也是一个H5的初学者 ...
- 基础知识漫谈(2):从设计UI框架开始
说UI能延展出一丢丢的东西来,光java就有swing,swt/jface乃至javafx等等UI toolkit,在桌面上它们甚至都不是主流,在web端又有canvas.svg等等. 基于这些UI工 ...
- HTML基础知识总结
经过这段时间的学习,对于html的一些基础知识有了一定的了解.所谓好记性不如烂笔头,唯有一点点累积,才能汇聚成知识的海洋.现在,我对这段时间的学习做一个总结. 一.HTML的定义 HTML,超文本标记 ...
- Runloop基础知识
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- 【CSS】 CSS基础知识 属性和选择
css基础知识 html的基本标签都是千篇一律的,为了能够个性化外观,就需要进行样式的调整,而css就是专门用来维护,管理样式的一种格式.在html中定义css有三种方法 1. 为标签添加style属 ...
- 背水一战 Windows 10 (56) - 控件(集合类): ListViewBase - 基础知识, 拖动项
[源码下载] 背水一战 Windows 10 (56) - 控件(集合类): ListViewBase - 基础知识, 拖动项 作者:webabcd 介绍背水一战 Windows 10 之 控件(集合 ...
- 移动端头部适配 meta基础知识
meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 <meta name="viewport" content="width=device-wid ...
- 16第一章 ASP.Net编程基础知识
第一章 ASP.Net编程基础知识 第一章 ASP.Net编程基础知识 本章首先介绍用ASP.Net技术编制服务器端动态网页所需的网络和HTML标记语言方面的有关知识.然后 ...
- Vue框架之基础知识
在没有学习基础知识之前,我们需要下载vue的js文件,在使用vue语法之前引包 <script src='./vue.js'></script> 一.模板语法 模板语法是一种可 ...
随机推荐
- 黑盒测试用例设计方法&理论结合实际 -> 场景法
一概念 现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流.这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件 ...
- unity3d实现序列帧动画
首先准备一个序列帧图片如下的AngryBird: 场景中随便创建一个物体,这里以Cube为例 将图片拖放到Cube上,这样会在Cube的6各面都有3个bird,为了美观显示一个鸟,我们调整材质的Til ...
- WCF测试工具,post经验
以前使用WCF的post的时候总是不知道怎么传值,需要注意2方面 1.头可以用Json或者是xml来传值 Content-Type: application/json; charset=utf-8 2 ...
- HIbernate学习笔记(八) hibernate缓存机制
hibernate缓存 一. Session级缓存(一级缓存) 一级缓存很短和session的生命周期一致,因此也叫session级缓存或事务级缓存 hibernate一级缓存 那些方法支持一级缓存: ...
- MyEclipse整合Git
1. 在OSC@China申请账号,建立项目 2. MyEclipse中选择导入项目-->Git-->Projects from Git 3. 填入Git的地址.User Name和Pas ...
- [转]常用的130个vim命令
原帖地址:http://www.oschina.net/news/43167/130-essential-vim-commands 从 1970 年开始,vi 和 vim 就成为了程序员最喜爱的文本编 ...
- SQL2008-截取字段函数
ltrim() int转字符 Left('ABC',2)='AB' right('ABC',2)='BC' SUBSTRING('ABC',1,2)='AB' 和DELPHI中的COPY一样Sub ...
- nyoj 69 数的长度
数的长度 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出 ...
- class-dump 复制到/usr/bin目录不可写,Operation not permitted 解决办法
许多升级了OSX 10.11的朋友在配置class-dump的时候,会发现书上推荐的class-dump存放目录/usr/bin不再可写,如下所示: Operation not permitted 把 ...
- Countly在andoid和vps集成使用,开源的统计分析sdk
这几天项目需要,简单研究了一下countly,说实话完全满足项目需要,比umeng这类产品干净多了. Countly Mobile Analytics 下面就讲一下android 集成的过程,以及 服 ...