H5 _拖放使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>拖放API</title>
<style>
[id='dragme']{
width: 100px;
height: 100px;
color: #fff;
text-align: center;
line-height: 100px;
background-color:#aaa;
user-select: none;
cursor:pointer;
}
[id='text']{
width: 300px;
height: 300px;
margin-top: 20px;
}
.border{
border: 1px solid #aaa;
border-radius:.2em;
box-shadow:2px 2px 3px #aaa;
}
.hide{
display: none;
}
</style>
</head>
<body>
<div class="content">
<div class="border" id="dragme" draggable="true">请拖放</div>
<div class="border" id="text"></div>
</div>
<script>
var page = {
init : function(){
this.draggable();
this.perDefault();
},
draggable : function(){
var source = document.getElementById('dragme'),
dest = document.getElementById('text'),
dragIcon = document.createElement('img'),
n = 1;
dragIcon.src = '';
//拖放开始
source.addEventListener('dragstart', function(ev){
//向dataTransfer追加数据
var dt = ev.dataTransfer;
dt.effectAllowed = 'all';
dt.setData("text/plain", n);
//自定义拖放图标
dt.setDragImage(dragIcon, -10, -10);
},false);
//拖放结束
dest.addEventListener('dragend', function(ev){
ev.preventDefault();
},false)
//被拖放
dest.addEventListener('drop', function(ev){
n++;
//从dataTransfer对象获取数据
var dt = ev.dataTransfer,
text = dt.getData("text/plain");
dest.textContent += text+' ';
//阻止默认行为(拒绝被拖放)
ev.preventDefault();
//阻止事件冒泡
ev.stopPropagation();
},false)
//被拖放的元素在本元素范围内移动
//dropEffect拖放时的视觉效果/图标
dest.addEventListener("dragover", function(ev){
var dt = ev.dataTransfer;
dt.dropEffect = 'link';
ev.preventDefault();
},false)
},
//设置页面属性,阻止默认行为
perDefault : function(){
document.ondragover = function(e){
e.preventDefault();
}
document.indrop = function(e){
e.preventDefault();
}
}
}
window.onload = page.init();
</script>
</body>
</html>
H5 _拖放使用的更多相关文章
- h5 简单拖放
最新的HTML5标准为所有的html元素规定了一个draggable属性,它表明了元素是否可以拖动,默认情况下,图像,链接,选中的文字是可以拖动的,因为他们的draggable属性被自动设置为true ...
- 【02】一个实现h5的拖放的整个过程-魔芋
[02]拖放的整个过程-魔芋 01,创建2个元素,一个为拖放元素dragEle,一个是存放的元素targetEle.添加一些样式. <div class="dragEle&qu ...
- h5的拖放(drag和drop)
被拖曳元素发生的事件=== ondragstart:拖拽元素开始被拖拽的时候触发 ondragend:拖拽完成后触发 目标元素发生的事件=== ondragenter:拖曳元素进入目标元素的时候触发 ...
- H5 _浏览器通知功能使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- H5 拖放事件详解
拖放事件 H5的拖放事件提供了多个接口: 1.drag:当元素或者选中的文本被拖动时触发(每几百毫秒触发一次),应用在被拖拽元素上 2.dragend:当拖动操作结束时触发(通过释放鼠标按钮或者点击转 ...
- 多个tab切换传参
var _ =peopleslive.h5; _.main=function(){ //集赞排名1 $('#tab1 .tab_nav').find('li').click (function() { ...
- h5drag事件
在拖动目标上触发事件 (源元素):ondragstart - 用户开始拖动元素时触发ondrag - 元素正在拖动时触发ondragend - 用户完成元素拖动后触发释放目标时触发的事件:ondrag ...
- js 2017
JS面向对象 <script> function num(val) { return val * 8 } function Index(name, age) { this.name = n ...
- 我拖拖拖--H5拖放API基础篇
不要搞错,本文不是讲如何拖地的.看过<javascript精粹>朋友应该知道,他实现拖放的过程比较复杂,现在时代不同了,我们用H5的新的拖放API就能非常方便的实现拖放效果了.最近在园子见 ...
随机推荐
- Python 自动化测试框架 unittest 和 pytest 对比
一.用例编写规则 1.unittest提供了test cases.test suites.test fixtures.test runner相关的类,让测试更加明确.方便.可控.使用unittest编 ...
- JS 循环定时的一些思考
网上也有例子, function doSetTimeout(i) { setTimeout(function() { console.log(i); }, 1000); } for (var i = ...
- angularjs杂谈
1.MVVM的看法:我给view里面各种控件也定义一个对应的数据对象,这样,只要修改这个数据对象,view里面显示的内容就自动跟着刷新,而在view里做了任何操作,这个数据对象也跟着自动更新. Vie ...
- Css - 选择器和样式
Css - 选择器和样式 标签选择器 即使用html标签作为选择对象 <style> div{ background:red; } </style> <div&g ...
- C++入门篇十一
单例对象:为了让类只有一个实例,实例不需要自己释放掉 不管创建多少个实例对象进行访问,访问的都是同一个值 #include "pch.h" #include <iostrea ...
- 写一个python脚本监控在linux中的进程
在虚拟机中安装Linux中的CentOS7系统 https://baijiahao.baidu.com/s?id=1597320700700593557&wfr=spider&for= ...
- 定时任务框架Quartz-(一)Quartz入门与Demo搭建
注:本文来源于:是Guava不是瓜娃 <定时任务框架Quartz-(一)Quartz入门与Demo搭建> 一.什么是Quartz 什么是Quartz? Quartz是OpenSympho ...
- (转)python 开发 sqlite 绝对完整
'''SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说 没有独立的维护进程,所有的维护都来自于程序本身. 在python中,使用sqlite3创建数据库的连接,当我们指定的数据库文件不 ...
- 如何设置PDF签名文档,PDF签名文档怎么编辑
在工作中我们都会遇到有文件需要签名的时候,如果是在身边就直接拿笔来签名了,那么如果没有在身边又是电子文件需要签名的时候应该怎么办呢,这个时候就应该设置一个电子的签名文档,其他的文件电子文件签名很简单, ...
- dbus-launch
NAME dbus-launch - Utility to start a message bus from a shell script dbus-launch - 从shell脚本启动一个消息总线 ...