你用的什么浏览器?我在firefox下很正常,不过当点击删除的时候确实存在问题,这是mouseenter的实现机制所致,有兴趣可以去研究源码。下面放出最终版本,应该不会有什么问题了。[code="js"]<!DOCTYPE html>
test
<br><br>
#div111{<br><br>
width:200px; height :200px ; background :red; margin :100px auto auto 100px;<br><br>
}<br><br>
#div222{<br><br>
width:100px; height :100px; background :yellow;<br><br>
}<br><br>
#div333{<br><br>
width:50px; height :50px; background :blue;<br><br>
}<br><br>
<br><br>
function mouseEnter(event){<br>
var elem = $(event.target);<br>
if(!elem.hasClass('enter')){<br>
elem.addClass('enter');<br>
$("#log").append(elem.attr('id')+"触发了mouseenter事件<br/>");<br><br>
}<br>
};<br><br>
function mouseLeave(event){<br>
var elem = $(event.target);<br>
if(elem.hasClass('enter')){<br>
elem.removeClass('enter');<br>
$("#log").append(elem.attr('id')+"触发了mouseLeave事件<br/>");<br><br>
}<br>
};<br>
/*$('#div111').hover(mouseEnter, mouseLeave);<br>
$('#div222').hover(mouseEnter, mouseLeave);<br>
$('#div333').hover(mouseEnter, function(event){<br>
mouseLeave(event);<br>
$(this).remove();<br>
});*/<br>
$('#div111').mouseenter(mouseEnter);<br><br>
$('#div222').mouseenter(mouseEnter);<br><br>
$('#div333').mouseenter(mouseEnter);<br><br>
$('#div111').mouseleave(mouseLeave);<br><br>
$('#div222').mouseleave(mouseLeave);<br><br>
$('#div333').mouseleave(function(event){<br><br>
mouseLeave(event);<br><br>
$(this).remove();<br><br>
});<br>
$('#div333').click(function(event){<br><br>
event.stopPropagation();<br><br>
$(this).remove();<br><br>
});<br><br>
[/code]