有一定是一种方式,一个toggleClass()做这些:我可以使用toggle()来整合这两个jQuery on()事件吗?
$('div').on("mouseenter", ".myButton", function(){
$(this).addClass('rollOver');
});
$('div').on("mouseleave", ".myButton", function(){
$(this).removeClass('rollOver');
});
...但它是内(),因为myButton为动态创建。
你应该真正使用'.toggleClass()'开关参数。如果在分配处理程序时鼠标指针恰好位于元素上方,则最终会出现相反的行为。 [这是一个演示](http://jsfiddle.net/ZeAY8/)。我已经将处理程序绑定延迟了2秒。如果你在这段时间内将指针放在蓝框上,并将其留在那里,直到处理程序被分配为止,你会看到行为是颠倒的。 *(哦,并检查你的语法。)* ;-) – 2012-04-15 18:47:35
...哎呀,忘了*“检查你的语法”*注释从我以前的评论。评论最初是为了@ jfriend00的回答,但随后他将其删除。但*开关*参数部分仍然站立。 – 2012-04-15 18:58:12