use*_*269 5 javascript jquery drag-and-drop google-chrome jquery-events
我有以下内容:http://jsfiddle.net/KywJT/
function dragEnter(evt) {
evt.stopPropagation();
evt.preventDefault();
$(evt.target).addClass('over');
}
function dragLeave(evt) {
evt.stopPropagation();
evt.preventDefault();
$(evt.target).removeClass('over');
}
function drop(evt) {
evt.stopPropagation();
evt.preventDefault();
$(evt.target).removeClass('over');
}
jQuery( function ( $ ) {
var $box = $( "#box" );
$box.bind("dragenter", dragEnter);
$box.bind("dragleave", dragLeave);
$box.bind("drop", drop);
});
Run Code Online (Sandbox Code Playgroud)
我使用的是Chrome版本24.0.1312.52 m和最后一个jQuery(1.8.3).当我将文件放入框中时,浏览器不会阻止默认beaviour.你能帮我么?
PS dragexit被弃用了吗?
小智 14
如果您希望在Google Chrome中触发放置事件,则必须先定义一个dragover侦听器,即使该函数根本不执行任何操作.我不知道为什么,这很奇怪......但是清楚地确定并且很容易重现:)昨天在那个sh*t上丢了2个小时:/希望这会有所帮助
这应该为您解决问题.
jQuery( function ( $ ) {
var $box = $( "#box" );
$box.bind("dragenter", dragEnter);
$box.bind("dragleave", dragLeave);
$box.bind("drop", drop);
$(document).bind('dragover', function (e) {
e.preventDefault();
});
});
Run Code Online (Sandbox Code Playgroud)