删除事件未在镶边中触发

似乎掉落事件并没有在我预期的时候触发。

我假设当正在拖动的元素在目标元素上方释放时,将触发 drop 事件,但情况似乎并非如此。

我误解了什么?

http://jsfiddle.net/LntTL/

$('.drop').on('drop dragdrop',function(){
    alert('dropped');
});
$('.drop').on('dragenter',function(){
    $(this).html('drop now').css('background','blue');
})
$('.drop').on('dragleave',function(){
    $(this).html('drop here').css('background','red');
})

答案 1

为了在 div 元素上发生 drop 事件,必须取消 and 事件。使用jquery和您提供的代码...ondragenterondragover

$('.drop').on('drop dragdrop',function(){
    alert('dropped');
});
$('.drop').on('dragenter',function(event){
    event.preventDefault();
    $(this).html('drop now').css('background','blue');
})
$('.drop').on('dragleave',function(){
    $(this).html('drop here').css('background','red');
})
$('.drop').on('dragover',function(event){
    event.preventDefault();
})

有关更多信息,请查看MDN页面


答案 2

你可以只是在活动中做一个。执行此操作将触发事件。event.preventDefault()dragoverdrop