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

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
}

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