当我在 dragstart 事件中这样做时:
e.dataTransfer.setData('text/plain', 'text');
e.dataTransfer.setData('text/html', 'html');
e.dataTransfer.setData('application/x-bookmark', 'bookmark');
这在 drop 事件中:
for (var i = 0; i < e.dataTransfer.types.length; i++) {
var type = e.dataTransfer.types[i];
console.log(type + ":" + e.dataTransfer.getData(type));
}
我应该有:
text/plain:text
text/html:html
application/x-bookmark:bookmark
正如我在 FF 中得到的,但实际上我得到了:
Text:text
text/plain:text
在 Chrome 中。那些数据去了哪里?这是否意味着 chrome 没有正确实现 dataTransfer 对象?我该怎么办?
我在 Chrome 4.0.266.0 中运行了这个
最佳答案
是的,这是 Chrome 中的一个错误。查看问题 31037并发布30240在 chromium 问题跟踪器中(chromium 是 google chrome 的开源版本)。除了等待错误被修复之外,我看不到其他解决方案。您可以通过提供一个简单的测试用例来帮助他们修复它。
关于javascript - Chrome 是否错误地实现了 dataTransfer 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1895923/