Почему страница перенаправляется, когда я перетаскиваю изображение на div
Я использую jquery 1.9
, У меня есть проблема, чтобы реализовать загрузку изображения с помощью перетаскивания, но когда я перетаскиваю изображение в div, тогда оно собирается перенаправить и открыть изображение в браузере. Я реализую код в jsfiddle, пожалуйста, проверьте и скажите мне, в чем проблема, почему его перенаправляют
это мой следующий код
$(document).on('ready',function(){
jQuery.event.props.push('dataTransfer');
$('.dropuploader').bind('drop', function(e){
$(this).css({'box-shadow' : 'none', 'border' : '4px dashed rgba(0,0,0,0.2)'});
alert("hello there");
return false;
});
$('.dropuploader').bind('dragenter', function(e){
$(this).css({'box-shadow' : 'inset 0px 0px 20px rgba(0, 0, 0, 0.1)', 'border' : '4px dashed #bb2b2b'});
return false;
});
});
2 ответа
Решение
Ты пропустил ondragover="return false"
используйте следующий div html
<div class="dropuploader" ondragover="return false">Upload here</div>>
вместо
<div class="dropuploader">Upload here</div>
Вам также нужно добавить событие dragover, чтобы оно заработало.
Например:
$('.dropuploader').on('dragover', function (e) {
e.stopPropagation();
e.preventDefault();
});
Смотрите это jsfiddle: http://jsfiddle.net/jwa3q/
Дополнительную информацию о событиях перетаскивания можно найти здесь: https://developer.mozilla.org/en-US/docs/DragDrop/Drag_Operations