Html5 Drag 使用问题

关于Html5 Drag使用时遇到的兼容性和使用可能产生分歧的问题


1. dataTransfer.setData()只能用在dragstart 事件中,在webkit 和ie的浏览器下 dataTransfer.getData()只能用在drop事件中,其他任何事件使用时,得到的都是空值。


2.当dragstart事件触发的回调中,如果改变了drag对象所在的盒模型中的zindex层级,使得drag对象被压到某个对象下面,或者drag对象display:none,都会立刻触发dragend事件(除firefox浏览器),导致这个拖拽行为终止。


$('dragobject').on('dragstrat',function(e){
	//以下会触发dragend事件,同理加带有类似css的classname也会
        $(this).hide();
	$(this).css('z-index',-1);
        //透明则不会触发
	$(this).css('opacity', 0);
});
如果非要处理类似的效果,可以用setTimeout来延后,就没有这个问题了。


$('dragobject').on('dragstrat',function(e){
	var $this = $(this);
        setTimeout(function(){
            $(this).hide();
 	    $(this).css('z-index',-1);
        },0);

});


3.dataTransfer.setDragImage(), 给拖拽添加一个随鼠标移动的ghost image,ie10, ie11不支持, 会显示默认的效果,要去掉这个效果的方法就是把目标设置为display:none


4.如果两个div紧挨着相邻,拖拽元素后在两者之间来回晃动,会触发dragenter 和dragleave事件,但是触发顺序是先触发进入下一个元素的dragenter事件,再出触发移出前一个元素的dragleave事件。


5.拖拽滚动,拖动一个物体到窗口边缘,滚动条会随着滚动, firefox不支持,只有window边缘或者iframe边缘才会触发这个特效,也可以自己使用dragover事件模拟。

代码可以参考drag_to_scroll_reloaded-0.5-fx.xpi插件,减压后看dragtoscrolloverlay.xul文件


6.触发dragstart事件后,任何mouse事件将被禁用。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值