jQuery如何杀死一个创建的Div?

我现在拥有的是一个产品列表(div),当盘旋时,会创建一个重复的div并将其定位在原始div上(稍微偏移并使用css重新设置)。 这个新div更大,并提供更多信息,显示在列表视图中。

当我将鼠标hover在新div上时,它是.remove()’但是我发现它不会立即执行此操作,如果我快速移动鼠标,则会触发hover事件,但是mouseleave事件不会(如这样的新div就在屏幕上了。

我现在要检测何时删除新的div:

jQuery('.newDiv').mouseleave(function(){ jQuery(this).remove(); }); 

如何让我的新div检查鼠标是否打开/关闭它以便我可以正确杀死它?

您是否考虑过使用CSS进行修补?

 .newDiv{ display:none; } .newDiv:hover{ display:block; } 

这样,unhover无论如何都会隐藏div。 可能是渲染代理比JS引擎更快,为您节省了瞬间故障。

也许是这样的:

 jQuery('.newDiv').mouseleave(function() { var self = jQuery(this); setTimeout(function() { self.remove(); }, 250); });