Onmouseover被调用多次

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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被调用多次的主要内容,如果未能解决你的问题,请参考以下文章

JS事件 鼠标经过事件(onmouseover)鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序。

当元素被禁用时触发 onmouseover 事件

JavaScript事件

ReactJS - 更改图像 onMouseOver 不起作用

Jquery mouseover多次触发问题

onmouseover/onmouseout的小意外