HTML5 drop event doesn't work unless dragover is handled

后端 未结 4 1081
一生所求
一生所求 2020-12-02 16:51

I am listening to the drop event and doing e.preventDefault() But its trying to open the dropped file. It was working fine till yesterday. But just

4条回答
  •  再見小時候
    2020-12-02 17:52

    https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Drag_operations

    If you want to allow a drop, you must prevent the default handling by cancelling the event. You can do this either by returning false from an attribute-defined event listener, or by calling the event's event.preventDefault method. The latter may be more feasible in a function defined in a separate script.

    Calling the preventDefault method during both a dragenter and dragover event will indicate that a drop is allowed at that location. However, you will commonly wish to call the preventDefault method only in certain situations, for example, only if a link is being dragged. To do this, call a function which checks a condition and only cancels the event when the condition is met. If the condition is not met, don't cancel the event, and a drop will not occur there if the user releases the mouse button.

    https://developer.mozilla.org/en-US/docs/Web/Events/dragover

      /* events fired on the drop targets */
      document.addEventListener("dragover", function( event ) {
          // prevent default to allow drop
          event.preventDefault();
      }, false);
    

提交回复
热议问题