2、防止冒泡:
1、event.stopPropagation();
2、e.target 是目标对象,e.event是目标所发生的事件。
if($(e.target).is("li.link")){}
3、mouseover()、mouseout()和mouseenter()、mouseleave()的差别,另外加上hover
jquery源码中有这么一段:
hover: function( fnOver, fnOut ) { return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); }
hover()就是mouseenter()和mouseleave()的结合。
而mouseover().mouseout()这个会出很多问题,因为这个或涉及到冒泡,遇到了一次,简直把我弄疯了。其重要原因是mouseover()和mouseenter()的区别,另外两个一样。
在w3school上面可以很清楚的知道差别。http://www.w3school.com.cn/tiy/t.asp?f=jquery_event_mouseenter_mouseover
mouseover()对一个div绑定后,不是把div看做一个整体,当div里面有其他元素时,它会将里面的每一个标签对看做一个个体,并会对这里面的所有个体都绑定了这个事件;而mouseenter()是把div看做一个整块,只对这个整块儿绑定此事件。
所以以后要谨慎使用mouseover()了。