Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

HTML을 사용하여 창 외부로 드래그할 때 Firefox에서 dragleave 이벤트를 감지하는 방법은 무엇입니까?


dragenter 요소를 추적해야 합니다. 그리고 끌어놓기 에 발동되었습니다. 개별 요소에서 dragenter 및 dragleave를 수신하면 해당 요소의 이벤트뿐만 아니라 자식의 이벤트도 캡처됩니다.

$.fn.draghover = function(options) {
   return this.each(function() {
      var collection = $(),
      self = $(this);
      self.on('dragenter', function(ev) {
         if (collection.length === 0) {
            self.trigger('draghoverstart');
         }
         collection = collection.add(ev.target);
      });
      self.on('dragleave drop', function(ev) {
         collection = collection.not(ev.target);
         if (collection.length === 0) {
            self.trigger('draghoverend');
         }
      });
   });
};

이벤트 수신 -

$(window).draghover().on({
   'draghoverstart': function() {
      alert(‘dragged into the window');
   },
   'draghoverend': function() {
      alert('dragged out of window');
   }
});