JavaScript跨浏览器的添加删除事件绑定函数
来源:互联网 发布:c语言关闭文件的函数是 编辑:程序博客网 时间:2024/06/07 10:03
最近一直在忙项目,但在做项目的过程中,发现有很多东西都不知道,尤其是博大精深的JAVASCRIPT,最近在做页面的一些效果时,由于使用的是别人已做好的框架,所以,有一些标签的代码是自动生成的,无法控制,所以想到了用JAVASCRIPT代码来给其绑定事件来完成相应的效果。
由于现在的浏览器层出不穷,我们以当前几款流行的浏览器作为参考吧。在网上查找资料时,JQUERY中直接使用Bind()便可以绑定实现操作的相关事件。但在这里我们只使用最原始的JAVASCRIPT来完成。
一、 javascript跨浏览器添加事件绑定 bind()
IE 的事件绑定函数是 attachEvent;而 Firefox, Safari 是 addEventListener;Opera 则两种都支持。使用jQuery就可以使用简单的bind(),或者$().click()之类的函数解决,而如果不使用JavaScript框架的时候,大家可是使用下面的封装bind()函数。
attachEvent("eventName",functionName) //eventName 为标签的事件名,如onclick.....,functionName为自定义的函数名
/************************************
* 添加事件绑定
* @param obj : 要绑定事件的元素
* @param type : 事件名称。不加 "on". 如 : "click" 而不是 "onclick".
* @param fn : 事件处理函数
************************************/
function bind( obj, type, fn ) {
if ( obj.attachEvent ) {
//obj['e'+type+fn] = fn;
// obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
// obj.attachEvent( 'on'+type, obj[type+fn] );
obj.attachEvent('on'+type,fn(args)); //fn(args)如有参数时,请注入参数,无参数时只需输入函数名便可即:fn
} else
obj.addEventListener( type, fn(args), false ); //同上解释
}
例如给document添加一个点击事件
var fn=function(args...) { //args为参数,可有可无,根据需求添加参数
//实现方法体
};
bind(document, "click", fn);
由于javascript的闭包问题,导致得不能直接读取外部的那个函数,不然就所有传递的参数都变为最后一个了,不管有无参数,当bind方法中有相应的循环的时候,便会导致一些问题,所以解决方案如下:
var fn=function(args...) { //args为参数,可有可无,根据需求添加参数
return function(){
// 1.实现的方法体
//2. 调用的方法 //该函数为外部定义的一个执行函数
};
};
- JavaScript跨浏览器的添加删除事件绑定函数
- JavaScript跨浏览器的添加删除事件绑定函数
- JavaScript 跨浏览器添加和删除事件
- 跨浏览器事件的添加与删除
- 自己封装跨浏览器事件添加和删除函数
- JS事件封装函数,跨浏览器添加事件和删除事件
- 兼容浏览器的js事件绑定函数
- 跨浏览器添加javascript事件处理
- JavaScript 跨浏览器添加移除事件
- JavaScript事件绑定与删除
- JavaScript动态添加|绑定事件
- 惰性加载函数----实现浏览器通用的事件绑定函数
- javascript事件的绑定
- javascript的事件绑定
- javascript事件的绑定
- JavaScript事件的绑定
- 动态添加图片并绑定删除事件
- JS添加/绑定事件监听函数并传参数attachEvent和addEventListener兼容个浏览器
- 从服务器端带你了解什么叫集成windows身份验证
- C++中为什么没有try finally的理解
- 一个优秀的网页设计师
- 数字几何之笛卡儿的法国良心存在时间谭
- 十大常用数据结构
- JavaScript跨浏览器的添加删除事件绑定函数
- 此刻职场心态——纪念同事强盟、刘建强辞职
- java project jar包配置
- ubuntu 软件之傻瓜安装版
- 用英文字母解析漩涡鸣人
- Cache-control”常见的取值有private、no-cache
- 算法导论 5.1-3
- 深圳
- 星期五