首页 > 代码库 > Onmouseover被调用多次

Onmouseover被调用多次

当一个容器,如div,不包含元素时。Onmouseover只执行一次,正常。当这个div包含其他子元素的时候,这个事件就被执行了多次,今天遇到了这个问题,特此记录下,解决方案。

这个是由于onmouseover引起的,主要是因为ul里面包含了子元素,会造出鼠标移动到子元素,比如li上面也会触发ulonmouseover事件,造成了混乱。解决办法:

1,如果是IE浏览器,用onmouseleave代替。

2,不管什么浏览器,下面这个方法都是牛逼的,不信,你试试。

  1. ?stateList.onmouseout?=?function(e){????
  2. ??if(?!e?)?e?=?window.event;????
  3. ??var?reltg?=?e.relatedTarget???e.relatedTarget?:?e.toElement;????
  4. ??while(?reltg?&&?reltg?!=?this?)?reltg?=?reltg.parentNode;????
  5. ??if(?reltg?!=?this?){????
  6. ??????//?è??é????ˉ??¥??–????onmouseleave??o??????"?¤"?????£???????
  7. ????stateList.style.display=‘none‘;??
  8. ?}??
  9. }??

原文在这里:http://blog.csdn.net/teresa502/article/details/6103458

Onmouseover被调用多次