因为我可能有一个1000(或更多)DIVS,所有DIVS都可以相互拖放,我发现在页面加载完成后将jquery .droppable放在所有DIV上的时间太长了。因此,我尝试使用鼠标悬停功能将droppable仅添加到用户实际尝试放弃某些内容的那些DIV上。
这适用于drop:但是对于over:
没有按预期行事以下是代码片段
$('.nc').mouseover(function() {
$(this).droppable({
tolerance: 'touch',
over: function( event, ui ) { // do this .. highlight the div being dropped on // },
out: function(event, ui) { // do this .. unhighlight the div being dropped on // },
drop: function( event, ui ) { // do this .. handle the drop even // }
});
});
当我使用.nc类放入任何DIV时,drop实际上工作正常。但是,当我将项目拖到DIV上时,“over”不起作用,除非我的鼠标在尝试拖动它之前已经越过DIV。
注意,我知道我可以使用hoverClass来突出显示,但我需要在over事件中提供一些逻辑,以便它只在某些条件下突出显示。
我已经打了很长时间,所以希望有人可以提供帮助。感谢。
答案 0 :(得分:0)
对于每一行
over: function( event, ui ) { // do this .. highlight the div being dropped on // },
out: function(event, ui) { // do this .. unhighlight the div being dropped on // },
drop: function( event, ui ) { // do this .. handle the drop even // }
结尾"}"被注释掉,因此它破坏了功能
$('.nc').mouseover(function() {
$(this).droppable({
tolerance: 'touch',
over: function( event, ui ) { },
out: function(event, ui) { },
drop: function( event, ui ) { }
});
});