有个功能,需要用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以外的任意字段即可。