html drag api 在firefox 下 拖动出现新窗口的解决办法

有个功能,需要用drag drop api 来做。

发现在firefox下拖放,会出现新的tab 页签,即使在ondragover、ondrop中使用了event.preventDefault也无济于事,在mozllia上MDN的例子拖动也会弹出新的tab 页签。

随后发现有同事写的drag drop 在firefox下不会弹出,遂研究起来,发现用的dataTransfer.setData("asdf",""),同事只是用了drag drop的效果,没有用dataTransfer。我就复制过来在例子中使用,发现,不会弹出新窗口了。

然后再把setData的key 设置为text,tab 页签继续弹出。

原因:

估计是firefox把text设置为了关键字,触发了text就默认打开新窗口,禁用浏览器默认功能也没用。

解决:

把setdata的关键字设置除了text以外的任意字段即可。

 

posted @ 2016-12-05 14:03  winenr123  阅读(...)  评论(...编辑  收藏