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 ...
随机推荐
- OI生涯回顾
OI回忆录只是一个预告,估计等2020高考结束才放出来吧. 先写一下自己简单的OI历程吧: 小升初刚起步 初一 第一次比赛,NOIP PJ组215分,踩线1=,全省rk86,全国rk677(毕竟AH ...
- usb摄像头驱动的移植
相关软件下载地址:http://pan.baidu.com/s/16yo8Y 1.使用摄像头型号ov9650 ①修改.配置内核 1.修改vi drivers/i2c/busses/Kconfig (参 ...
- 地图js及json包
echarts github上的地图js及json包:https://github.com/apache/incubator-echarts/tree/master/map 上面链接没有县及的地图js ...
- servlet中调用注入spring管理的dao(转)
今天做大型仪器的的时候遇到的问题,转下为了以后能用 http://blog.csdn.net/jiyingying_up/article/details/44803585 我们用spring的依赖注入 ...
- JAVA基本数据类型和注释
一.注释 1.注释的概念 注释是程序中给人看的提示信息,会被编译器忽略:在程序编译和执行过程中不会有任何影响,仅仅在代码阅读时提供提示信息. 2.注释的形式 基本语法://注释的内容 a.行注释 ...
- springboot项目 线程消费队列注入报错误空指针
背景: 在调用阿里云隐私保护有一个通话记录的回执消息是一个消费线程队列,这个还别人告诉我的,因为我根本没有看出来哪里是个线程了,然后我就把它当成普通的代码拿到返回值以后然后插入数据库 可是我这边该加的 ...
- Java基础之内省
Java基础之内省 什么是内省 首先,我们要知道什么是内省.按我自己的理解就是在反射的原理上进行封装,来更方便的操作JavaBean JavaBean就是特殊格式的类,其规范为: JavaBean ...
- OpenCV3 Ref SVM : cv::ml::SVM Class Reference
OpenCV3 Ref SVM : cv::ml::SVM Class Reference OpenCV2: #include <opencv2/core/core.hpp>#inclu ...
- OnPaint中画图遇到的问题
在OnPaint函数中有CPaintDC dc1(this);这句话,在画图时,千万不要把它去掉,否则会造成消息队列阻塞.例如定时器.Invalidate()等都会失效. 造成这种现象的原因是: CP ...
- 二十六、CI框架之分页
一.在模型中读取数据库中的表 二.在控制器中添加dividePage函数 三.在View中写入显示代码 四.查看效果,还是挺漂亮的分页效果 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信 ...