通过mouseover事件添加的Jquery droppable看不到OVER事件

时间:2011-11-25 21:55:12

标签: jquery mouseover droppable

因为我可能有一个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事件中提供一些逻辑,以便它只在某些条件下突出显示。

我已经打了很长时间,所以希望有人可以提供帮助。感谢。

1 个答案:

答案 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 ) { }

   });
});