Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm cách nào để phát hiện sự kiện dragleave trong Firefox khi kéo ra bên ngoài cửa sổ bằng HTML?


Bạn cần theo dõi phần tử nào dragenter dragleave đã được kích hoạt vào. Trình duyệt nghe và dragleave trên một phần tử riêng lẻ sẽ ghi lại không chỉ các sự kiện trên phần tử đó mà còn cả các sự kiện trên phần tử con.

$.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');
         }
      });
   });
};

Nghe các sự kiện -

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