firefox - 跨浏览器方法取消 contenteditable div 中的放置事件

标签 firefox drag-and-drop dom-events contenteditable

我希望能够禁止将图像(和其他内容)放入跨浏览器的内容可编辑 div 中。我了解如何为 Chrome 和 IE 执行此操作。火狐固执地拒绝了。代码片段位于 http://jsbin.com/oqozo3有一个示例显示该事件正在触发,我正在取消它,并且在 Firefox 中该图像仍然出现。

基本上,以下内容在 Firefox 中不起作用:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ContentEditable fails in FF</title>
<script type="text/javascript">
function init() {
  var target = document.getElementById("target");
  if (target.addEventListener) {
    target.addEventListener ("dragenter", all, false);
    target.addEventListener ("dragover", all, false);
    target.addEventListener ("drop", all, false);    
    target.addEventListener ("dragdrop", all, false);
  } else {
    target.attachEvent ("ondragenter", all, false);
    target.attachEvent ("ondragover", all, false);
    target.attachEvent ("ondrop", all, false);    
  }
}
function all(event) {
if (event.preventDefault) { event.preventDefault();} 
return false;
}
</script>
</head>
<body onLoad="init();">
    <div id="target" style="border: 1px solid black; height: 100px;" contenteditable="true">This is editable content</div>
    <div>
     <p>I don't want the image to be draggable to the above div. Works in IE,
     Chrome, not firefox.</p>
     <img src="http://mozcom-cdn.mozilla.net/img/firefox-100.jpg">
    </div>
</body>
</html>

我已经看过:ContentEditable DIV - disabling drag and drop ,但其中的建议在 Firefox 中也不起作用。

最佳答案

任何你不使用像 jQuery 这样的框架的原因,它都会做类似跨浏览器的事情

关于firefox - 跨浏览器方法取消 contenteditable div 中的放置事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4258759/

相关文章:

javascript - Pale Moon 中的简单 firefox 扩展 "not compatible"错误

javascript - Html5 拖放显示 id 的问题

jquery - onmouseover 与动画 Canvas 的完整性

internet-explorer-9 - Internet Explorer 9、10 和 11 事件构造函数不起作用

javascript - xhr.send(file) 不会将其作为多部分发布

macos - 使用 AppleScript 关闭 FireFox 中的特定选项卡

javascript - 如何在网页中的 Flash 小程序上模拟假的 MouseOver?

javascript - 文件上传(拖放)不起作用

javascript - 了解不同的拖放参数?

javascript - 使用 onload 事件naturalWidth和naturalHeight返回0