javascript 绑定解绑事件无JQ

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 绑定解绑事件无JQ相关的知识,希望对你有一定的参考价值。

export function on(ele,type,callback){
	if(ele.addEventListener){
		ele.addEventListener(type,callback)
	}else{
		ele.attachEvent('on'+type,function(){
			callback.call(ele);
		})
	}
};


export function off(ele,type,callback){
	if(ele.removeEventListener){
		ele.removeEventListener(type,callback)
	}else{
		ele.detachEvent('on' + type, callback);
	}
};


export function one(ele,type,callback){
	let typeArray = type.split(' ');
	let recursiveFunction = function(e){
		e.target.removeEventListener(e.type, recursiveFunction);
		return callback(e)
	}
	for (let i = typeArray.length - 1; i >= 0; i--){
		on(ele,typeArray[i],recursiveFunction)
	}
};

以上是关于javascript 绑定解绑事件无JQ的主要内容,如果未能解决你的问题,请参考以下文章

javascript 事件绑定与解绑

JavaScript绑定事件跟解绑事件的兼容代码

对事件委托绑定click的事件的解绑

JQuery_003_事件绑定与解绑

js中的解绑事件

事件绑定与解绑