【js基础】JS事件处理程序
来源:互联网 发布:leqee网络上海有公司吗 编辑:程序博客网 时间:2024/05/24 23:14
事件处理程序分类:
1. HTML事件处理程序
2. DOM0级事件处理程序
3. DOM2级事件处理程序
4. IE事件处理程序
5. 跨浏览器事件处理程序
HTML事件处理程序(已被摒弃)
DOM0级事件处理程序。
将一个DOM对象的事件处理函数指向一个函数。
一般在事件流的冒泡阶段处理。
绑定事件处理程序。
var btn=document.getElementById(“mybtn”);
btn.onclick=function(){
alert(this.id);
}
解除事件处理程序
btn.onclick=null;
DOM2级事件处理程序
绑定事件处理程序:
var handler=function(){
alert(this.id);
};
var btn=document.getElementById(“mybtn”);
btn.addEventListener(‘click’,handler,false);
false 表示在捕获阶段调用事件处理程序;true表示在捕获阶段调用事件处理函数;
解除事件处理函数
btn.removeEventListener(‘click’handler,false);
removeEventListener必须与addEventListener传入的参数一样。
IE事件处理程序
var btn=document.getElementById(“mybtn”);
var handler=function(){
alert(“Click”);
};
绑定事件处理程序:
btn.attachEvent(‘onclick’,handler);
解除事件处理函数:
Btn.datachEvent(‘onclick’,handler); 传入的参数必须与attachEvent一样。
注意点:
IE处理程序的回调函数中的this不指向调用该事件处理函数的DOM对象,而是指向window.
IE事件处理程序都是在冒泡阶段执行的。
跨浏览器的事件处理程序
var eventUtil={
addHandler:function(ele,type,handler){
if(ele.addEventListener){
ele.addEventListener(type,handler,false);
}else{
if(ele.attachEvent){
ele.attachEvent(‘on’+type,handler);
}else{
ele[‘on’+type]=handler;
}
}
},
removeHandler:function(ele,type,handler){
if(ele.removeEventListener){
ele.removeEventListener(type,handler,false);
}else{
if(ele.datachEvent){
ele.datachEvent(‘on’+type,handler);
}else{
ele[‘on’+type]=null;
}
}
};
参考资料
《Javascrip高级程序设计》(第三版)
- 【js基础】JS事件处理程序
- js 事件处理程序
- JS-事件处理程序
- JS事件处理程序
- js--事件--事件处理程序
- js--事件--事件处理程序
- js添加事件处理程序
- JS DOM事件处理程序
- JS的事件处理程序
- JS常用事件处理程序
- js事件处理程序问题?
- JS的事件处理程序
- 03js基础 js事件处理
- JS事件-事件处理程序之IE事件处理程序
- JS事件--事件处理程序之HTML事件处理程序
- JS事件--事件处理程序之DOM2事件处理程序
- JS事件流与事件处理程序
- js事件流与事件处理程序
- GDB 调试程序 详解 使用实例
- 网络协议栈设计(五)---链路层以太网分析(接收)
- 多态和虚表
- 微信小程序日期选择器
- java nio编程学习笔记(3)--buffer
- 【js基础】JS事件处理程序
- Kibana 5.2 中文文档 | 片刻 ApacheCN(apache中文网)
- 并查集 POJ 1182 捕食链
- [WOJ26 Lost in WHU]矩阵快速幂
- Android图像处理整理
- 友盟多渠道打包 Android Apk
- POJ
- cocos2d-x cpp-test学习
- 在Ubuntu上用anaconda3安装opencv3