html5拖放操作

最近在看html5时看到的一个有意思的拖放效果,这里是简单的一个拖放删除元素的效果。

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>拖放操作</title>

<style>

li{ list-style:none;width:100px; height: 100px; background: red; margin-bottom:20px;}

#div1{ width:200px; height: 200px; background: red; margin:0 auto;}

</style>

<script>

window.onload = function()

{

var oUl = document.getElementsByTagName("ul")[0];

var aLi = oUl.getElementsByTagName("li");

var oDiv = document.getElementById("div1");

var i = 0;

for(var i=0; i<aLi.length; i++)

{

aLi[i].index = i;

aLi[i].ondragstart =function(ev)

{

var ev = ev || window.event;

ev.dataTransfer.setData(‘name‘,this.index);

this.style.background = "green";

};

aLi[i].ondrag =function()    //开始与结束之间连续触发

{

document.title = i++;

};

aLi[i].ondragend =function()

{

this.style.background = "red";

};

}

oDiv.ondragenter = function()

{

this.style.background = "blue";

}

oDiv.ondragleave = function()

{

this.style.background = "red";

}

oDiv.ondragover = function(ev)      //开始与结束之间连续触发

{

//要想触发drop事件,必须要在ondragover事件中阻止默认事件

document.title = i++;

ev.preventDefault();

}

oDiv.ondrop= function(ev)

{

//this.style.background = "yellow";

//alert(ev.dataTransfer.getData("name"));

oUl.removeChild(aLi[ev.dataTransfer.getData("name")]);

for(var i=0; i<aLi.length; i++)

{

aLi[i].index = i;

}

}

}

</script>

</head>

<body>

<ul>

<li draggable="true"></li>

<li draggable="true"></li>

<li draggable="true"></li>

<li draggable="true"></li>

</ul>

<div id="div1"></div>

</body>

</html>

上图就是一个把上面小图拖放到下面的大方框中释放鼠标就可以删除当前拖放的小图。

时间: 2024-10-10 13:28:21

html5拖放操作的相关文章

Html5学习之拖放操作详解

在html5页面开发中,拖放操作里面非常重要的一个点就是,我们要确定哪里发生了拖放事件.顾名思义,拖放事件,就是有脱(drag)事件和放(drop)事件. 拖放操作里面非常重要的一个点就是,我们要确定哪里发生了拖放事件.顾名思义,拖放事件,就是有脱(drag)事件和放(drop)事件. 当某个元素被拖动的时候,在这个元素上将被依次触发以下事件: 1. dragstart 2. drag 3. dragend 按下鼠标键并开始移动鼠标时,就会在被拖动元素上触发 dragstart 事件,随机触发 

HTML5拖放API

拖放 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放. 浏览器支持 Internet Explorer 9.Firefox.Opera 12.Chrome 以及 Safari 5 支持拖放. 注释:在 Safari 5.1.2 中不支持拖放. 拖放步骤 1.对象元素的draggable属性设置为true(draggable="true").还需要注意的是a元素和img元素必须指定href.dragstart 被拖放的元素

[转载] HTML5 文件操作API——HTML5系列

简介 我常常想,如果网络应用能够读取和写入文件与目录,将会非常方便.从离线转移到在线后,应用变得更加复杂,而文件系统方面的API的缺乏也一直阻碍着网络前进.存储二进制数据或与其进行交互不应局限于桌面.令人欣慰的是,由于FileSystemAPI的出现,这一现状终于得到了改变.有了FileSystemAPI,网络应用就可以创建.读取.导航用户本地文件系统中的沙盒部分以及向其中写入数据. API 被分为以下不同的主题: 读取和处理文件:File/Blob.FileList.FileReader 创建

HTML5拖放API2

在HTML5中,已经支持在浏览器与其他应用程序之间的数据互相拖动,同时也大大简化了有关于拖放方面的代码. 实现拖放的步骤 在HTML5中要想实现拖放操作,至少要经过两个步骤: 将想要拖放的对象元素的draggable属性设为true(draggable="true").这样才能将该元素进行拖放.另外,img元素和a元素(必须指定href属性)默认允许拖放. 编写与拖放有关的事件处理代码.关于拖放存在的几个事件如下所示. 拖放的相关事件 事件 产生事件的元素 描述 dragstart 被

nw.js如何处理拖放操作

其实拖放(drag-drop)操作是Html5的功能,不是nw.js的内置API,那么我们采用Html5应用一般的处理方法就可以了. 首先我们看一下一个正常的页面,直接拖放一个文件过来的效果. 页面代码: <html> <head> <title>拖放测试</title> </head> <bodystyle="background-color:rgba(0,0,0,0);"> <pid="outp

HTML5 文件操作API

简介 我常常想,如果网络应用能够读取和写入文件与目录,将会非常方便.从离线转移到在线后,应用变得更加复杂,而文件系统方面的API的缺乏也一直阻碍着网络前进.存储二进制数据或与其进行交互不应局限于桌面.令人欣慰的是,由于FileSystemAPI的出现,这一现状终于得到了改变.有了FileSystemAPI,网络应用就可以创建.读取.导航用户本地文件系统中的沙盒部分以及向其中写入数据. API 被分为以下不同的主题: 读取和处理文件:File/Blob.FileList.FileReader 创建

HTML5 拖放(Drag 和 Drop)功能开发——基础实战

随着HTML5的普及度越来越高,现在写代码也遇到一些了,经过同事的点播开展了一次Dojo活动用以技术交流,我也乘此机会将HTML5的拖放功能整理了一下. 简介 拖拽(Drag/Drop)是个非常普遍的功能.在生活中,拖放物品其实是相当常见的一个动作.标榜“互联网生活尖凿狮”的程序猿也在一直试图用鼠标模拟出“手”的操作,用来给用户以更好的体验,你可以抓住一个对象,并且拖动到你想放置的区域.很多javascript都类似实现了相关的功能,例如,jQueryUI的draganddrop组件,比如<JS

C# Winform 拖放操作

http://www.cnblogs.com/imlions/p/3189773.html 在开发程序的时候,为了提高用户的使用体验,或满足相关用户的功能,总是离不开拖放功能.而本文是总结winform下的常用拖放操作.主要有 1.textbox接受拖放的文件 2.listbox允许用户自定义排序 3.listbox之间的拖放 4.控件的拖放 5.console的拖放问题 用户在进行拖放操作时,经过的步骤大体如下: 例如将A中的数据拖放的B中 鼠标点击A中的数据(MouseDown)->鼠标移动

WPF中textbox加入文件拖放操作

namespace WpfApplication1{ public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void textbox1_PreviewDragOver(object sender, DragEventArgs e) { e.Effects = DragDropEffects.Copy; e.Handled = true; } private