js 冒泡事件的处理

onMouseOver 和 onMouseOut事件冒泡

      当事件在某一DOM元素被触发时,例如用户在某个节点上点击鼠标,事件将跟随着该节点继承的各个父节点冒泡穿过整个DOM的节点层次,直到它遇到依附有该事件类型处理的父节点,HTML是层次结构内层的事件能够被传播到外层,我们称之为事件冒泡。

<div οnclick="testClick(event);">  
    <table border="1">  
        <tr>  
            <td>this a td element</td>  
            <td id="output">nothing</td>  
        </tr>  
    </table>  
</div>  

当鼠标点击<td>this a td element</td>元素时,会触发testClick事件,即事件冒泡到div元素。


onMouseOut鼠标移出冒泡解决代码

function d_1(obj,e)
{
	var e = window.event || e, relatedTarget = e.toElement || e.relatedTarget;
	while(relatedTarget && relatedTarget != obj)
	relatedTarget = relatedTarget.parentNode;
	if(!relatedTarget)
       {
        obj.className="d_2_1"
       }
}  

在需要移出的元素上 绑定onMouseOut="d_1(this,event)移出事件。

如:

<div class="d_2" id="d_2" onMouseOut="d_1(this,event)">

鼠标移出div.id为"d_2"里面的子元素节点时将不会触发d_1()函数,只有移出div"d_2"本身才会。

<div />

 

转载于:https://www.cnblogs.com/ChangeNow/p/3612154.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值