事件作为javascript本身的一个必备功能,在目前javascript的使用中是无处不在的,基本要只要写到javascrpt,就会用到javascript事件。下面就说说javascript中的添加事件监听和取消事件监听的方法,当然也要做到兼容W3c和IE。下面是兼容的代码:
[javascript] view plain copy
- //添加事件监听兼容函数
- function addHandler(target, eventType, handler){
- if(target.addEventListener){//主流浏览器
- addHandler = function(target, eventType, handler){
- target.addEventListener(eventType, handler, false);
- };
- }else{//IE
- addHandler = function(target, eventType, handler){
- target.attachEvent("on"+eventType, handler);
- };
- }
- //执行新的函数
- addHandler(target, eventType, handler);
- }
- //删除事件监听兼容函数
- function removeHandler(target, eventType, handler){
- if(target.removeEventListener){//主流浏览器
- removeHandler = function(target, eventType, handler){
- target.removeEventListener(eventType, handler, false);
- }
- }else{//IE
- removeHandler = function(target, eventType, handler){
- target.detachEvent("on"+eventType, handler);
- }
- }
- //执行新的函数
- removeHandler(target, eventType, handler);
- }
上面这段代码是对监听事件函数做了优化的,延迟加载事件监听函数,这样就不用每次都对添加或删除事件进行判断了,只在第一次添加或删除监听事件的时候进行判断,会大大提高监听事件的执行效率。
时间: 2024-10-24 14:56:49