元素嵌套 js mouseover mouseout问题
javascript吧
全部回复
仅看楼主
level 9
Andyzrd 楼主
<div class="a">
<div class="b">
....
</div>
</div>
外层div有mouseover函数和mouseout函数
对外层div使用mouseover触发函数 鼠标挪到内层div 就会触发外层的mouseout函数 这个问题怎么避免啊?求大神指教
2013年05月21日 07点05分 1
level 9
百度 js阻止冒泡
2013年05月21日 07点05分 2
[泪]百度得到 我就不来了。。。
2013年05月21日 07点05分
回复 Andyzrd :[汗]百度不到 我就不会说了。。。
2013年05月21日 08点05分
level 9
Andyzrd 楼主
果断自己顶 nice, nice, nice, nice, nice
2013年05月21日 08点05分 3
level 6
为什么我的DIV不会出现这种问题。。。
2013年05月21日 08点05分 4
我也不知道啊。。我以前写也没这问题。。。就是这次 找不到跟以前有什么不同。。
2013年05月21日 08点05分
我只有用mouseenter的时候会出现,,用mouseover不会
2013年05月21日 08点05分
回复 七妹疯狂归来 :鼠标停留在内层div上 稍微一动 就会触发。。。不动没事。。
2013年05月21日 08点05分
level 9
Andyzrd 楼主
Oh Boy 顶顶顶。。。。我可以发代码。。谁能帮帮我 T.T
2013年05月21日 08点05分 5
level 5
evt.stopPropagation ?evt.stopPropagation() : (evt.cancelBubble=true);
哪里要阻止就放哪里
2013年05月21日 08点05分 6
不是要阻止呀。。。T.T 鼠标滑到内层div边缘 就会触发外层的 mouseout函数。。
2013年05月21日 08点05分
回复 Andyzrd :我知道 滑到里面的哪个DIV 就触发了撒 你用这个 他不就不触发了
2013年05月21日 08点05分
回复 290590589 :这行写在哪呀~
2013年05月21日 08点05分
level 5
<Script>
var oDiv1=document.getElementById('a');
var oDiv2=document.getElementById('b');
oDiv1.onmouseover=function()
{
alert(1)
}
oDiv2.onmouseover=function(evt)
{
evt.stopPropagation?evt.stopPropagation():evt.cancelBubble=true;
}
</script>
2013年05月21日 09点05分 7
[真棒]多谢各位大神 解决了~~ 3Q3Q
2013年05月21日 10点05分
level 10
阻止冒泡对付简单的还好说
如果子结构有数十个呢?
实际上,从a移动到b,触发的事件顺序是这样的:
a的mouseout
b的mouseover
a的mouseover
所以可以用延迟解锁来做兼容处理
var lock=false;
//这是 绑定在a的mouseout上的函数:
var aOut=function(){
lock=false;//鼠标从a移出后解锁
setTimeout(function(){
if(lock){return;}
//这里写真正要在a的mouseout时做的事
},50);
}
//下面是绑定在a的 mouseover上的函数:
var aOver=function(){
lock=true;
}
这样当你从a移入b时,lock会在瞬间先变false后变true,而这时在aOut里延迟了50毫秒执行的函数检查到lock为true就直接return了,不会做真正要做的事
2013年05月21日 09点05分 8
[真棒]多谢各位大神 解决了~~ 3Q3Q
2013年05月21日 10点05分
b的mouseover 绑定在 a的mouseout里不可以么?
2013年05月23日 01点05分
level 2
你是怎么解决的
2014年09月02日 04点09分 9
1