Firefox запускает перетаскивание при перетаскивании текста
пытаюсь отследить перетаскивание / отпускание на весь экран, который до сих пор нормально работал в Chrome / Safari, благодаря плагину draghover отhttps://stackoverflow.com/a/10310815/698289 как в:
$.fn.draghover = function(options) {
return this.each(function() {
var collection = $(),
self = $(this);
self.on('dragenter', function(e) {
if (collection.size() === 0) {
self.trigger('draghoverstart');
}
collection = collection.add(e.target);
});
self.on('dragleave drop', function(e) {
// timeout is needed because Firefox 3.6 fires the dragleave event on
// the previous element before firing dragenter on the next one
setTimeout( function() {
collection = collection.not(e.target);
if (collection.size() === 0) {
self.trigger('draghoverend');
}
}, 1);
});
});
};
function setText(text) {
$('p.target').text(text);
}
$(document).ready(function() {
$(window).draghover().on({
'draghoverstart': function() {
setText('enter');
},
'draghoverend': function() {
setText('leave');
}
});
});
Однако Firefox все еще доставляет мне проблемы, когда я перетаскиваю текстовые элементы, здесьскрипка для демонстрации:http://jsfiddle.net/tusRy/6/
Это ошибка Firefox или это можно приручить с помощью JS? Или есть более надежный метод для выполнения всего этого?
Спасибо!
ОБНОВИТЬ: Обновлена скрипка доhttp://jsfiddle.net/tusRy/6/ немного уменьшить беспорядок Чтобы объяснить ожидаемое поведение скрипки:
Перетащите файл в окно, и p.target должен быть "ВОЙТИ" окрашен в желтый цвет.Перетащите файл из окна, и p.target должен быть "ПОКИДАТЬ" окрашен в красный цветПеретащите файл в окно и p.target должен быть "ПОКИДАТЬ" окрашен в красный цветВ Firefox событие LEAVE запускается, когда вы перетаскиваете файл поверх текста.