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 ...
随机推荐
- spingcloud--hystrix(断路器)
hystrix由来:服务器宕机或者依赖关系失败. hystrix: Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时.异常等,Hyst ...
- JavaScript中的面向对象及有关应用
面向对象(OOP:Object Oriented Programming) 面向对象的概念 面向对象是一种程序设计思想,将数据和处理数据的程序封装到对象中. 特性:抽象.继承.封装.多态. 优点:提 ...
- 十九、JavaScript之数组
一.代码如下 二.执行效果如下 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" cont ...
- Golang go-gin 注册路由
代码实现 main.go package main import ( "fmt" "github.com/jihite/go-gin-example/pkg/settin ...
- Mybatis中xml文件的时间段动态查询
- 【LGR-(-8)】洛谷入门赛 #5 题解
比赛链接 9道题. 注:题目名称中链接为题目链接,题号中链接为比赛内链接 题目编号 洛谷题号 题目名称 题目难度 A P5713 [深基3.例5]洛谷团队系统 \(\color{red}{入门}\) ...
- E. Third-Party Software - 2 贪心----最小区间覆盖
E. Third-Party Software - 2 time limit per test 2.0 s memory limit per test 256 MB input standard in ...
- Charles中windows版本解决response乱码问题
实际上三种,目前写了两种,加了之后有的不显示乱码,但是有的还是显示,第三种搜索结果是安装证书,但是本人安装后证书后未受到信任,所以暂时不知是否能够成功 1,在charles.ini中,手动增加一个vm ...
- BGP联邦配置
BGP联盟建立: ①:启用BGP进程. ②:关闭同步与自动汇总. ③:router-id ④:公布自己所属联盟.——confederation identifier ID ⑤:表达自己的与其他对等(p ...
- 2020牛客寒假算法基础集训营5 部分题解(BDEH)
B: 牛牛战队的比赛地(二分做法)题意:二维平面给定n个点,在x轴找一点使得到n个点距离的最大值最小. 思路:我们可以将问题转化为在x轴找到一个圆心,使得该圆包含这n个点且半径最小,这样就变成了最小圆 ...