Webkit ondrop事件,同时拖动

时间:2010-04-22 07:55:52

标签: drag-and-drop safari webkit google-chrome

我正在尝试拖动一个img,所以它会触发ondragenter for IE和dragover事件用于标准浏览器,在IE和FF之后用户拖动它可以触发ondrop事件然而在基于Webkit(chrome和safari),我需要取消或阻止dragover事件的默认(),这样做将禁用拖动。解决这个问题的任何想法?感谢

更新:我指的是designMode ='on'

1 个答案:

答案 0 :(得分:1)

HTML5规范的默认行为是自动取消然后拖动dragOver / drageEnter上的动作,除非您自己取消(返回false和e.preventDefault())该事件。它根本不应该取消拖动动作。

起初看起来有点奇怪。但是我使用这个代码并且它可以工作。

aDivElement.ondrop = function(e) {
  alert("yo");
};

aDivElement.ondragenter = function(e) {
      e.dataTransfer.dropEffect = 'move'
      e.preventDefault();
      return false;
 };

aDivElement.ondragover = function (e) {
   e.dataTransfer.dropEffect = 'move';
   e.preventDefault();
   return false;
 };