mouseover和mouseout的触发事件的探究

mouseover和mouseout事件引起的闪烁问题:

在js里面,当我们对一个html对象绑定了mouseover和mouseout事件时,会自动对其子对象绑定这两个事件,而有时候这个机制会给我们的实现带来不便,我们只希望在这个html对象上面实现mouseover和mouseout的绑定。

方法一:

在当mouseout的时候,设定一个延迟,例如1秒,然后在mouseover事件中对这个延迟进行清除,不让它调用应该执行的方法。

原因很简单,当鼠标在html对象中移动的时候,它是从一个子对象mouseout然后又mouseover了另一个子对象。

方法二:对所有子元素禁止事件冒泡

该方法存在一定的问题,如果目标对象子元素太多,需要操作每一个子元素进行事件绑定,太过啰嗦,这时候可以采用

1.调整html结构

2.

e.stopPropagation();

 

关于mouseover,mouseout快速移动造成的延迟问题:

使用mouseout来处理交互的时候,鼠标移开目标元素的速度快慢会影响mouseout事件的效果,什么问题?

posted @ 2013-03-06 10:36  A Good Boy  阅读(239)  评论(0)    收藏  举报