js 鼠标在子元素上,却脱离父元素(出发了父元素的mouseout事件)的解决办法,求代码解释解释。
o=e.relatedTarget||e.toElement;这句话的主要作用是什么,是什么意思啊...
o = e.relatedTarget||e.toElement;
这句话的主要作用是什么,是什么意思 啊 展开
这句话的主要作用是什么,是什么意思 啊 展开
1个回答
展开全部
下面的代码就没有了这个问题了(要用IE浏览器运行才行):
<body>
<div id="div1" style="width:300px; height:300px; background:red">
<div id="div2" style="width:100px; height:100px; background:green;"
</div>
<script>
var adiv1=document.getElementById('div1');
var adiv2=document.getElementById('div2');
adiv1.onmouseout=function(){alert('a') ;event.cancelBubble=true;}
adiv2.onmouseout=function(){alert('b');event.cancelBubble=true;}
</script>
</body>
你说的这个现象就是事件冒泡,用event.cancelBubble=true(IE下)就能阻止这个现象了!
o = e.relatedTarget||e.toElement;的意思是不知道是不是存在 e.relatedTarget或e.toElement。它的作用是,如果第一个存在,就用第一个,如果第一个不存在就用第二个(当然,都不存在多半要报错了)。我想,这样写是出于兼容性的考虑吧。
不知道我说明白了没有!
<body>
<div id="div1" style="width:300px; height:300px; background:red">
<div id="div2" style="width:100px; height:100px; background:green;"
</div>
<script>
var adiv1=document.getElementById('div1');
var adiv2=document.getElementById('div2');
adiv1.onmouseout=function(){alert('a') ;event.cancelBubble=true;}
adiv2.onmouseout=function(){alert('b');event.cancelBubble=true;}
</script>
</body>
你说的这个现象就是事件冒泡,用event.cancelBubble=true(IE下)就能阻止这个现象了!
o = e.relatedTarget||e.toElement;的意思是不知道是不是存在 e.relatedTarget或e.toElement。它的作用是,如果第一个存在,就用第一个,如果第一个不存在就用第二个(当然,都不存在多半要报错了)。我想,这样写是出于兼容性的考虑吧。
不知道我说明白了没有!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询