h5-拖拽接口
1.原效果网页

拖拽后:

2.主要实现代码
<div class="div1" id="div1">
<!--在h5中,如果想拖拽元素,久必须为元素添加draggable="true".图片和超链接默认就可以拖拽-->
<p id="pe" draggable="true">试着把我拖拽过去1</p>
<p id="pe1" draggable="true">试着把我拖拽过去2</p>
</div>
<div class="div2" id="div2"></div>
<div class="div3" id="div3"></div>
<script>
/*学习拖拽,主要急救室学习拖拽事件*/
//var ogj=null;//当前被拖拽的元素
/*var p = document.querySelector("#pe");
var div2 = document.querySelector("#div2");
var div1 = document.querySelector("#div1");*/
/*应用于被拖拽元素的事件*/
/*
* ondrag 应用于拖拽元素,整个拖拽过程都会调用--持续
* ondragstart 应用于拖拽元素,当拖拽开始是调用
* ondragleave 应用于拖拽元素,当鼠标离开拖拽元素是调用
* ondragend 应用于拖拽元素,当拖拽结束时调用
* */
document.ondragstart=function (e) {
/*通过事件捕获来获取前被拖拽的子元素*/
e.target.style.opacity=0.5;//拖拽元素半透明
e.target.parentNode.style.borderWidth="5px";
ogj=e.target;
//console.log("ondragstart");
/*通过dataTransfer来实现数据的存储于获取*/
/*
* setData(format,data);
* format:数据的类型:text/html text/uri-list
* Data:数据:一般来说是字符串值
* */
e.dataTransfer.setData("text/html",e.target.id);
}
document.ondragend=function (e) {
e.target.style.opacity=1;//拖拽元素还原透明度100%
e.target.parentNode.style.borderWidth="1px";
console.log("ondragend");
}
document.ondragleave=function (e) { }
document.ondrag=function (e) { }
/*
* 应用于目标元素的事件
* ondragenter 应用于目标元素,当拖拽元素进入时调用
* ondragover 应用于目标元素,当停留在目标元素上时调用
* ondrop 应用于目标元素,当在目标元素上松开鼠标时调用
* ondragleave 应用于目标元素,当鼠标离开目标元素时调用
* */
document.ondragenter=function (e) {
console.log("-----"+e.target);
}
document.ondragover=function (e) {
console.log("ondragover");
/*如果想触发ondrop事件,那么久必须在这个位置阻止浏览器的默认行为*/
e.preventDefault();
}
/*浏览器默认会阻止ondrop事件:我们必须在ondragover中阻止浏览器的默认行为*/
document.ondrop=function (e) {
console.log("ondrop");
/*添加被拖拽的元素到当前目标元素*/
//e.appendChild(p);
/*通过e.dataTransfer.setSata存储的数据,只能在drop事件中获取*/
var id = e.dataTransfer.getData("text/html");
console.log(id);
e.target.appendChild(document.getElementById(id));
}
document.ondragleave=function (e) {
console.log("目标元素:ondragleave");
}
</script>
h5-拖拽接口的更多相关文章
- 从零开始学 Web 之 HTML5(四)拖拽接口,Web存储,自定义播放器
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- H5拖拽 构造拖拽及缩放 pdf展示
前言: 协助项目需要实现一个签名的功能. 功能说明:1.有文本签名和头像签名.2.头像签名需要实现可拖拽功能.3.需要展示的是pdf的文件并需要获取签名位于pdf文件的相对位置. 功能一:实现拖拽 思 ...
- H5 拖拽读取文件和文件夹
1)拖拽方面的重点是:ondragover 事件 和 ondrop 事件 ondragover 是必须的,ondragover 事件里禁用掉 html 的默认事件,否则 ondrop 事件将无效(直接 ...
- H5拖拽 构造拖拽及缩放 pdf文件转换为html预览
前言: 协助项目需要实现一个签名的功能. 功能说明:1.有文本签名和头像签名.2.头像签名需要实现可拖拽功能.3.需要展示的是pdf的文件并需要获取签名位于pdf文件的相对位置. 功能一:实现拖拽 思 ...
- H5 拖拽操作
H5 拖拽操作 前言 在原生H5中,可以通过提供的api实现在网页内元素的拖拽操作.相对于传统的写法更加的简单. 而想要实现拖拽,主要需要进行两个方面的工作,第一是给元素设置draggable='tr ...
- 仿h5拖拽
在h5中有个拖拽的声明式命令,就如html属性一样,简单强大. 而在网页上拖拽的功能还是需求很大的,所以对这方面应该去仔细了解一下. 所以仿一一下它的实现.只是仿了它的复制一份到目标容器的功能.它还有 ...
- h5拖拽上传图片
h5实现拖拽上传图片 本文将为大家介绍如何通过js实现拖拽上传图片. 首先我们要禁用调浏览器默认的拖拽事件: window.onload = function(){ //拖离 document.add ...
- H5 拖拽,一个函数搞定,直接指定对象设置可拖拽
页面上,弹个小窗体,想让它可以拖拽,又不想 加载一堆js,就简单的能让他可以拖动? 嗯,下面有这样一个函数,调用下就好了! 1. 先来说说 H5的 拖拽 在 HTML5 中,拖放是标准的一部分,任何元 ...
- H5 拖拽元素
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- H5拖拽事件的完整过程和语法
<!DOCTYPE HTML> <html> <head> <style type="text/css"> #div1 { widt ...
随机推荐
- 32位CPU和64位CPU 区别
操作系统只是硬件和应用软件中间的一个平台. 32位操作系统针对的32位的CPU设计. 64位操作系统针对的64位的CPU设计.操作系统只是硬件和应用软件中间的一个平台. 32位操作系统针对的32位的C ...
- [LeetCode] 934. Shortest Bridge 最短的桥梁
In a given 2D binary array A, there are two islands. (An island is a 4-directionally connected grou ...
- 3.python进制及其之间的转换
- IDE一直在indexing, 造成系统卡死解决方法
点击箭头指向,重启idea
- 一、REACT概述
1.前端/react概述 <从零react> 1.前端工 程概述 Web跨平台.跨浏览 器的应用开发场景 网页浏览器(Web Browser) 通过 CLI 指令去操作的 Headless ...
- jedis哨兵模式的redis组(集群),连接池实现。(客户端分片)
java 连接redis 我们都使用的 是jedis ,对于redis这种频繁请求的场景我们一般需要对其池化避免重复创建,即创建一个连接池 ,打开jedis的 jar包我们发现,jedis对池已经有 ...
- hdu 2583 How far away ? 离线算法 带权求最近距离
How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- css 径向渐变
.example { width: 150px; height: 80px; background: -webkit-radial-gradient(red, green, blue); /* Saf ...
- UVA - 11277 Cyclic Polygons(二分)
题意:已知圆的内接多边形的各个边长,求多边形的面积. 分析: 1.因为是圆的内接多边形,将多边形的每个顶点与圆心相连,多边形的面积就等于被分隔成的各三角形之和. 2.根据海伦公式,任意一个三角形的面积 ...
- Android之Intent相关知识
什么是Intent?Intent的作用? Intent是一个消息传递对象,我们可以通过它来启动其他组件或者在组件之间传递数据. 通过Intent启动其他组件 Intent可以用来启动Activity, ...