mouseover属性(html mouseover)
mouseover和Onmouseover区别
楼主把js?中的?mouseover和html中的?onmouseover?混为一谈了,他们分别是js鼠标事件和html属性。举个栗子:
a?href="baidu.com"?onmouseover="toBlue()"?onmouseout="toBlack"
几个mouse事件的特点
1.mouseover() : 如果鼠标指针穿过任何子元素,同样会触发 mouseover 事件。
注:比如div使用了mouseover 事件,鼠标在进入div到span再出去,会触发3次mouseover 事件;
2.mouseenter() : 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。
注:比如div使用了mouseenter 事件,鼠标在进入div到span再出去,会触发1次mouseenter事件;
3.mouseout() : 如果鼠标指针离开任何子元素,同样会触发 mouseout 事件。
注:比如div使用了mouseout 事件,鼠标在进入div到span再出去,会触发3次mouseout 事件;
4.mouseleave() : 只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。
注:比如div使用了mouseleave 事件,鼠标在进入div到span再出去,会触发1次mouseleave 事件;
所以它们的区别就是mouseover和mouseout拥有冒泡属性,将 mouseout() 换成 mouseleave() 即可!
鼠标mouse事件
1 .mouseenter:不冒泡。只有在鼠标穿过备选元素的时候,才会触发mouseenter事件
2 .mouseover:冒泡。不论鼠标指针穿过被选元素或者其子元素,都会触发mouseover事件
3 .为了阻止mouseover,mouseout反复触发,我们需要用到event的relaedtarget,这个属性用来判断mouseover和mouseout事件目标节点的相关节点的属性。分别代表鼠标刚刚离开的那个节点。鼠标移向的那个节点。由于MSIE不支持这个属性,不过有替代的属性。fromElemenet,toElement。通过判断这个属性,我们就可以知道鼠标是从哪个对象移过来,又要移动到哪个对象,然后判断这个相关联的兑现过是否在我们要触发的事件的对象的内容,然后来判断我们是否真的要触发这个事件。
4 .
1 .mouseleave:不冒泡
2 .mouseout:冒泡