zoukankan
html css js c++ java
关于onMouseOut违背逻辑关系的解决办法!
现有如下代码:
<
div id
=
'div1' style
=
'
200
; height:
200
;' onMouseOut
=
"
HideDiv('div1');
"
>
<
a href
=
'#'
>
test
</
a
>
</
div
>
鼠标移出这个层的时候,就触发onMouseOut事件,将层隐藏掉。
但是,如果你的鼠标接触到文字的时候,由于你接触到了A标记,而A标记在div1上边,所以就认为鼠标已经出了div1的范围了,就执行onMouseOut了,这个实际上并不是我们的本意。
所以只能修改了一下HideDiv()方法,使其符合我们的要求
function
HideDiv(pName)
{
var
obj
=
event.toElement;
while
( obj
!=
null
&&
obj.id
!=
pName )
{
obj
=
obj.parentElement;
}
if
( obj
==
null
)
{ document.all['div1'].style.display
=
'none'; }
}
大概意思是,当触发onMouseOut事件时,先获取鼠标当前所指向的元素(对象),
然后用递归方法,一层一层的往外找它的父元素,判断有没有叫div1的。
如果一直到页面最外一层还找不到的话,那就把层隐藏了,
如果找到的话,说明是div1的子元素,就不做任何事。
---------------------------------------------
生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果是对自己行动的嘉奖。
↑面的话,越看越不痛快,应该这么说:
生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!
查看全文
相关阅读:
intellij idea 主题更换(换黑底或白底)
intellij idea 编码设置(乱码问题)
Intellij idea中maven加载jar包很慢的解决方案.
mysql一个特殊的条件.字符串除以0的结果.
tomcat启动报错:Injection of autowired dependencies failed
给input文本框添加灰色提示文字,三种方法.
jquery插件开发尝试(二)
初试jquery插件开发
jquery.touchslider.min.js的简单使用
superslide 学习笔记
原文地址:https://www.cnblogs.com/pengchenggang/p/943622.html
最新文章
js 点透
再谈H5存储问题--浏览器无痕模式不支持
日期format
加载动画css
iframe 相关取值问题
C语言学习随笔
linux centos 7 防火墙相关
第七章——虚拟机类加载机制——学习总结
谷歌 notification 测试 页面
串
热门文章
排序算法(桶,冒泡,快速),代码备份
linux 替换jdk指定jar包
Mysql 3306 被 linux 防火墙拦截
邮箱验证
eclipse导入tomcat源码
{转} 深入理解 HTTP Session
wsdl客户端代码生成的方法
mybatis调用oracle存储过程例子.
mysql 时间戳的使用!
出现unmapped spring configuration files found
Copyright © 2011-2022 走看看