div mouseout弹出隐藏漂浮框问题

简介: js中onMouseOut事件冒泡的问题在做页面的弹出漂浮窗体。例如下拉菜单时onmouseout让人非常不可思议,解决办法如下: 一、给标签增加事件监听 方法 function addEvent(el, evname, func) {     if (el.
js中onMouseOut事件冒泡的问题
在做页面的弹出漂浮窗体。例如下拉菜单时onmouseout让人非常不可思议,解决办法如下: 

一、给标签增加事件监听 方法 
function addEvent(el, evname, func) 

    if (el.attachEvent) 
    { 
        el.attachEvent("on" + evname, func); 
    }else if (el.addEventListener){ 
        el.addEventListener(evname, func, true); 
    } 
};
 

二、给firefox定义contains()方法,ie下不起作用(ie自身带有) 
if(typeof(HTMLElement)!="undefined") 

HTMLElement.prototype.contains=function(obj) 

  //通过循环对比来判断是不是obj的父元素 
  while(obj!=null&&typeof(obj.tagName)!="undefind") 
  { 
   if(obj==this) 
    return true; 
   obj=obj.parentNode; 
  }
 
  return false; 
}; 
}
 

三、隐藏函数 
function HideMyFunc(theEvent) 

if (theEvent) 

  var browser=navigator.userAgent;//取得浏览器属性 
  if (browser.indexOf("Firefox")>0) 
  { 
   //如果是Firefox 
   if (document.getElementById('divModifyCategory').contains(theEvent.relatedTarget)) 
   { 
    //如果是子元素 
    return;//结束函式 
   } 
  }
 
  if (browser.indexOf("MSIE")>0) 
  { 
   //如果是IE 
   if (document.getElementById('divModifyCategory').contains(event.toElement)) 
   { 
    //如果是子元素 
    return;  //结束函式 
   } 
  } 
}
 

//要执行的操作 隐藏或者是删除标签 
var divModifyCategory = document.getElementById("divModifyCategory"); 
if (divModifyCategory) 

  window.document.body.removeChild(divModifyCategory); 

}
 

四、为自创建的标签增加响应事件 
addEvent(divModifyCategory, 'mouseout', function(){HideMyCategory(arguments[0]);});
目录
相关文章
|
存储 分布式计算 算法
分布式存储单主、多主和无中心架构的特征与趋势
分布式存储单主、多主和无中心架构的特征与趋势
分布式存储单主、多主和无中心架构的特征与趋势
|
存储 分布式计算 资源调度
ARM+麒麟大数据环境搭建:Hadoop
ARM+麒麟大数据环境搭建:Hadoop
3248 0
ARM+麒麟大数据环境搭建:Hadoop
|
存储 SQL 关系型数据库
PostgreSQL系统字段cmin和cmax详解
1.cmin和cmax是什么 PG中每个表都包含了一些系统字段,其中包括cmin和cmax。 cmin:插入该元组的命令在插入事务中的命令标识(从0开始累加) cmax:删除该元组的命令在插入事务中的命令标识(从0开始累加) 可以在Select命令的输出列表中显式地指定系统字段。
3443 0
麒麟系统mate-indicators进程占用内存过高问题解决
【10月更文挑战第7天】麒麟系统mate-indicators进程占用内存过高问题解决
1350 2
|
缓存 Kubernetes 负载均衡
在K8S中,ingress 有何作用?
在K8S中,ingress 有何作用?
|
人工智能 自然语言处理
ChatGPT高效提问—prompt常见用法(续篇)
ChatGPT高效提问—prompt常见用法(续篇)
203 0
|
存储 Kubernetes Perl
pv和pvc的区别、关系,如何设置使用的步骤
PV(Persistent Volume)和 PVC(Persistent Volume Claim)是 Kubernetes 中用于管理持久化存储的两个关键概念。 PV 是集群中的一个持久化存储资源,它是由集群管理员预先创建和配置的。PV 可以是物理存储设备、存储阵列、网络存储等。PV 有自己的生命周期,并且可以被多个 Pod 共享。 PVC 是 Pod 对 PV 的请求,它用于声明 Pod 对存储的需求。PVC 描述了 Pod 所需的存储容量、访问模式等属性。当创建 PVC 时,Kubernetes 会尝试将其与可用的 PV 进行匹配和绑定。一旦 PVC 成功绑定到 PV,Pod 就可
1599 0
|
人工智能 计算机视觉 开发者
用ModelScope带你制作小动画
本文带你利用ModelScope把实际拍摄的视频转换为动画,基本原理是把视频解码成图像,使用人像卡通化模型对视频逐帧进行卡通化,再把多帧图像合并成视频,从而完成动画生成
49281 18
用ModelScope带你制作小动画
|
存储 算法 计算机视觉
MATLAB数字图像处理 实验一:图像处理基本操作(平移、放大、缩小、旋转、插值)
MATLAB数字图像处理 实验一:图像处理基本操作(平移、放大、缩小、旋转、插值)
823 0
MATLAB数字图像处理 实验一:图像处理基本操作(平移、放大、缩小、旋转、插值)