设为首页 - 加入收藏
广告 1000x90
您的当前位置:皮皮彩票app下载 > 不变代码移出 > 正文

如何防止鼠标移出移入子元素触发mouseout和mseover事件

来源:未知 编辑:admin 时间:2019-04-24

  这两个事件有一个共同特点,那就是当鼠标移入或者移出子元素的时候都会触发对应的事件,这个往往在实际应用中是不需要的,或者说能够带来很大的困扰,下面就通过实例代码介绍一下如何避免此影响。

  以上代码实现了我们的要求,可以消除鼠标指针移入或者移出子元素所带来的困扰,虽然例子只是mouseout事件的,对于mouseover事件也是如此,下面就介绍一下此代码的实现过程:

  当触发这个事件的时候,事件对象都会有一个relatedTarget属性(标准浏览器支持,IE8和IE8以下浏览器需要使用其他属性返回),它能够返回一个与事件目标节点相关的节点,如果返回的节点都是注册事件的对象的子孙元素,说明是我们将要消除的事件触发,所以只要判断如果relatedTarget返回的节点是子孙节点,就进行特殊的处理就可以了,具体可以参阅代码注释。

  {},此函数是功能的核心,可以返回一个布尔值用来标识relatedTarget属性返回的是否是子孙节点,如果返回true说明不是子孙节点,如果是false则说明是子孙节点。第一个参数是事件对象,第二个是注册事件处理函数的对象。

  reltg.parentNode},一个while循环,条件是:如果reltg存在并且不是当前注册事件的节点,如果条件不被满足,那么将获取reltg的父节点然后再赋值给reltg,如此循环往复。这个语句的作用是判断相关元素是否值子孙元素,如果是的话,总会有一个reltg.parentNode会和handler相同。

本文链接:http://thacba.net/bubiandaimayichu/377.html

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top