js 兼容添加事件响应函数

本文介绍两种JavaScript中绑定事件的方法:一种适用于IE和其他浏览器,解决了跨浏览器兼容性问题;另一种则着重于解决事件处理函数中this指向的问题,通过特定方式确保事件处理函数内部this的正确指向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function addEventHandler(elm,eventType,handler){
	elm=typeof elm=="string"?document.getElementById(elm):elm;
	if(elm.attachEvent){
		elm.attachEvent("on"+eventType,handler);
	}else if(elm.addEventListener){
		elm.addEventListener(eventType,handler,false);
	}else 
		return false;
}
//绑定事件 --解决this的指向问题(冯总)   暂时不理解是什么意思,在哪里能用到
CBTC.Cevent.addDomEvent = function(elem, type, fn){
    if(elem.attachEvent){
        var typeRef = "_" + type;
        if(!elem[typeRef]){
            elem[typeRef] = [];
        }
        for(var i in elem[typeRef]){
            if(elem[typeRef][i] == fn){
                return;
            }
        }
        elem[typeRef].push(fn);
        elem["on"+type] = function(){
            for(var i in this[typeRef]){
                this[typeRef][i].apply(this,arguments);
            }
        }   
    }else{
        elem.addEventListener(type,fn,false);
    }
};

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值