搞懂html5新增的拖放API(分析火狐和其它浏览器的不同)
来源:互联网 发布:淘宝新店怎么做 编辑:程序博客网 时间:2024/04/30 22:12
1.为什么ondrop事件不被调用
当我们直接写document.ondrop=function(e){alert("test")};这个test是不会被弹出的,因为html元素默认是阻止放的操作的,自然这个事件也不会被激发,所以想让这个事件被调用,必须加上这个,document.ondragover=function(e){ return false; } ondrop这个事件才会被调用
2. 火狐与其它浏览器的不同
如果你只是想看到拖放的效果,在其它浏览器你只需要在html元素上加上draggable=true即可 ,但是火狐有这句话,你也看不到效果,因为火狐要求被拖动元素必须包含数据,所以你需要给他加上数据,方法 xx.ondragstart=function(e){ e.dataTransfer.setData("text","www.baidu.com"); } 当然这个setdata方法你可以随便写。
但是这里有一点非常头疼,就是火狐会默认把你的携带数据在一个新的页面打开,上面这个例子就会打开百度在新页面。如何阻止他打开新页面呢。
方法: document.ondragover=function(e){ return false; }
document.ondrop=function(e){ return false; } 以上代码无效,还是会打开新的页面
方法: document.ondragover=function(e){ return false; }
document.ondrop=function(e){
e.stopPropagation();} 以上代码也无效,不同在于火狐在当前页面打开了百度。
方法:
document.ondragover = function (e) { e.stopPropagation();}document.ondrop = function (e) { e.stopPropagation();}以上代码才是真正有效的,阻止百度的打开。
- 搞懂html5新增的拖放API(分析火狐和其它浏览器的不同)
- 2.5.0HTML5新增的拖放API
- IE 和火狐浏览器的不同
- HTML5 拖放API的使用
- html5的拖放(Drag 和 drop)
- 基于火狐和谷歌浏览器的html5调用摄像头
- HTML5新增的history API
- js原生拖拽事件(HTML5的拖放 API)
- HTML5学习笔记简明版(11):新增的API
- HTML5常见的新增API详解
- HTML5里拖放和dataTransfer的坑
- Html5的拖放功能
- html5的拖放
- 不同浏览器对于html5 audio标签和音频格式的兼容性
- 不同浏览器对于html5 audio标签和音频格式的兼容性
- 谷歌和火狐浏览器下的input的padding不同表现
- Chrome浏览器、火狐等浏览器上和IE类浏览器(360、qq等)有所不同,目前已发现的不同以及解决办法
- Chrome浏览器、火狐等浏览器上和IE类浏览器(360、qq等)有所不同,目前已发现的不同以及解决办法
- Gradle调用终端命令(gradle-2.2.1)
- EditText控件学习
- 汉诺塔-递归算法深入理解
- css属性字体(font)样式使用详解
- UI CGAffineTransform相关函数
- 搞懂html5新增的拖放API(分析火狐和其它浏览器的不同)
- BASE64编码(网络机器人JAVA编程指南学习)
- JAVA中intValue()和ValueOf()什么意思,还有Value什么意思
- 【Android学习之路】1.安装和环境配置+常见问题
- windows平台下vlc编译之二:vlc-0.8.6i的编译
- 一天时间内,时针与分针会重合几次?
- UI开发----target/action设计模式和代理设计模式以及手势识别器
- 数字排序
- 黑马程序员——OC语言——多态