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 ...
随机推荐
- HYSBZ - 1588 营业额统计 (伸展树)
题意:营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额.分析营 ...
- Web系统测试的常用方法总结-18《转载》
Web系统测试的常用方法归纳 --- 知识记录 1.页面链接检查 每一个链接是否都有对应的页面,并且页面之间切换正确.可以依靠一些工具,如:LinkBotPro.File-AIDCS.HTML Lin ...
- Local-Pref(本地优先属性)路由本地优先术
Local-Pref(本地优先属性)路由本地优先术: ①:抓取感兴趣流量——前缀与访问——prefix and access ②:创建路由地图——router-map ③:第一法则——permit 1 ...
- 刷题49. Group Anagrams
一.题目说明 题目是49. Group Anagrams,给定一列字符串,求同源词(包含相同字母的此)的集合.题目难度是Medium. 二.我的做法 题目简单,就不多说,直接上代码: class So ...
- 七十九、SAP中数据库操作之更新数据,UPDATE的用法
一.我们查看SFLIGHT数据库,比如我们需要改这条数据 二.代码如下 三.执行效果如下,显示“数据更新成功” 四.我们来看一下SFLIGHT数据库,发现已经由DEM更改为了AAA了
- 041-PHP把闭包函数当做参数传递
<?php //把闭包函数当做参数传递 function demo($obj){ $obj('我爱PHP'); } # 传一个闭包过去 demo( function($txt){ echo $t ...
- python 虚拟环境的安装
方式一 1. pip install virtualenv 2. virtualenv 虚拟环境的名字 3. mac上 source + 虚拟环境的目录/bin/activate win上 直接进入虚 ...
- MBE风格图标
图标的定义 图标是一种通过相似性或类比行来代表对象的符号. 图标的重要性 1.图形以其无与伦比的识别性带来信息传达效率的提升. 2.图形以其百变多样的趣味性带来视觉体验的享受提成用户体验. 3.图形以 ...
- POJ 3071:Football
Football Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3600 Accepted: 1844 Descript ...
- tensorflow-cnnn-mnist
#coding=utf-8import tensorflow as tfimport numpy as npimport matplotlib .pyplot as pltfrom tensorflo ...