代码之家  ›  专栏  ›  技术社区  ›  monmonja

拖动时Webkit ondrop事件

  •  0
  • monmonja  · 技术社区  · 16 年前

    我正在尝试拖动一个img,因此它为IE和标准浏览器的dragover事件触发ondragenter,在IE和FF上用户拖动后,它可以触发ondrop事件,但是在基于Webkit的(chrome和safari)上,我需要取消或阻止dragover事件的default(),这样做将禁用拖动。有没有办法解决这个问题?谢谢

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

    1 回复  |  直到 16 年前
        1
  •  1
  •   Kinlan    16 年前

    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;
     };