解决火狐浏览器拖拽打开新窗口的问题

Posted 生活总得有些仪式感

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决火狐浏览器拖拽打开新窗口的问题相关的知识,希望对你有一定的参考价值。

火狐浏览器实现拖拽有2个坑:

1、在dragstart事件中,必须要使用ev.dataTransfer.setData(),否则,即使在html中设置了元素 draggable=true,拖拽也是无效的。

dragstart: function (ev) {
    ev.dataTransfer = ev.originalEvent.dataTransfer;
    var domId = ev.target.id;
    
    ev.dataTransfer.setData("domId",domId);

},

2、火狐拖放后,总会默认打开百度搜索,如果是图片,则会打开图片。
解决办法:
在drop事件中增加阻止事件冒泡。

dragDrop: function (ev) {
    ev.stopPropagation();
    ev.preventDefault();
    ev.dataTransfer = ev.originalEvent.dataTransfer;
    //do something
}

以上是关于解决火狐浏览器拖拽打开新窗口的问题的主要内容,如果未能解决你的问题,请参考以下文章

火狐浏览器拖拽会打开新页面

火狐浏览器怎么在新窗口打开网页

为啥使用html5的拖拽功能,在火狐中总会弹出一个新面页?

如何取消浏览器这个功能“拖拽链接打开新标签(窗口页面)”

打开火狐浏览器的时候迅雷总是自动打开了,请问一下如何解决这个问题~~谢谢啦~~

火狐浏览器怎么设置标签页宽度?