JS实现div块的拖放,调换位置
2024-10-19 02:14:27
主要是HTML5 的拖放(Drag 和 Drop)
例子(不需要对div设置ID):
<!DOCTYPE HTML>
<html>
<head> <script type="text/javascript">
function allowDrop(ev)
{
ev.preventDefault();
} var srcdiv = null;
function drag(ev,divdom)
{
srcdiv=divdom;
ev.dataTransfer.setData("text/html",divdom.innerHTML);
} function drop(ev,divdom)
{
ev.preventDefault();
if(srcdiv != divdom){
srcdiv.innerHTML = divdom.innerHTML;
divdom.innerHTML=ev.dataTransfer.getData("text/html");
}
}
</script>
</head>
<body> <div style="width: 50px;height:50px;" ondrop="drop(event,this)" ondragover="allowDrop(event)" draggable="true" ondragstart="drag(event, this)">
div1!
</div>
<div style="width: 50px;height:50px;" ondrop="drop(event,this)" ondragover="allowDrop(event)" draggable="true" ondragstart="drag(event, this)">
div2!
</div>
<div style="width: 50px;height:50px;" ondrop="drop(event,this)" ondragover="allowDrop(event)" draggable="true" ondragstart="drag(event, this)">
div3
</div> </body>
</html>
上面函数介绍:
- ondrop: 当放置被拖数据时,会发生 drop 事件,这里自定义drop(event,this)函数,互换两个的innerHTML
- ondragover:当拖动链接等有默认事件的元素时,要在ondragover事件中用ev.preventDefault()阻止默认事件。否则drop事件不会触发。
- draggable:允许拖动。
- ondragstart:规定当元素被拖动时,会发生什么。在上面的例子中,ondragstart 属性调用了一个函数,drag(event),它规定了被拖动的数据。dataTransfer.setData() 方法设置被拖数据的数据类型和值。
-----请参考w3cschool:html5拖放
---------------------------------------------------------------------阿纪----------------------------------------------------------------------
最新文章
- BZOJ2809: [Apio2012]dispatching
- mac安装java8
- jquery-常用的运行函数
- Ubuntu 安装WPS
- 【转】Spring Quartz的原理
- SOA之(2)——SOA架构基础概念与设计框架
- 2010“架构师接龙”问答--杨卫华VS赵劼(转)
- UVA 11426 GCD-Extreme(II) ★ (欧拉函数)
- JSON 日期格式问题 /Date(1325696521000)/
- if处理多分支结构
- bzoj:1687;poj 2434:[Usaco2005 Open]Navigating the City 城市交通
- JAVA并发编程学习笔记------对象的可见性及发布逸出
- Linux 搭建 Nginx+PHP-FPM环境
- Jrebel 配置
- Spring Boot初识(3)- Spring Boot整合Swagger
- Android Studio配置Android Annotations框架详解--说说那些坑
- 廖雪峰Java5集合-3Map-1使用Map
- vue-video-player的使用总结
- LinqToHubble介绍及简单使用步骤——LinqToHubble是对HubbleDotnet的封装
- 设置pip源头地址
热门文章
- mysql之select+五种子句的理解
- java常用string inputStream转换
- 【转】linux中的sort命令
- php throw new Excpetion()之后,程序还往下继续运行吗?
- hdu 5443 The Water Problem 线段树
- 文件I/O(不带缓冲)之read函数
- 应聘.net开发工程师常见的面试题(一)(转载)
- GPS(Global Positioning System)全球定位系统
- iOS之NSUserDefaults的用法
- 在oc代码中使用swift第三方框架