4. IE事件处理程序
<input type="button" value="按钮" id="btn3">
function showMes(){
alert('hello word!');
}
Dom2级事件,google浏览器可以实现 ,IE浏览器能只用IE事件处理程序
Dom2级事件
btn3.addEventListener(); //添加事件
btn3.removeEventListener() //删除事件
IE事件处理程序
attachEvent() //添加事件
datachEvent() //删除事件
5、跨浏览器的事件处理程序 (能力检测,支持什么用什么)
var eventUtil = {
//添加句柄
//三个参数,给谁添加,添加什么事件,这个事件触发什么操作
addHandler:function(element,type,handler){
//DOM2级
if(element.addEventListener){
element.addEventListener(type,handler,false);
}else if(element.attachEvent){ //IE事件处理程序
element.attachEvent('on'+type,handler);
}else{ //不支持Dom2级和IE处理程序 就用Dom0级
element['on'+type] = handler;
}
}
//删除句柄
removeHandler:function(element,type,handler){
//DOM2级
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}else if(element.datachEvent){ //IE事件处理程序
element.datachEvent('on'+type,handler);
}else{ //不支持Dom2级和IE处理程序 就用Dom0级
element['on'+type] = null;
}
}
}
变量与字符串是不能用点连接的
在js中,连接属性的时候,所有用(.)连接的地方都可以用[]连接 只不过用(.)比[]用的更方便
<input type="button" value="按钮" id="btn3">
function showMes(){
alert('hello word!');
}
Dom2级事件,google浏览器可以实现 ,IE浏览器能只用IE事件处理程序
Dom2级事件
btn3.addEventListener(); //添加事件
btn3.removeEventListener() //删除事件
IE事件处理程序
attachEvent() //添加事件
datachEvent() //删除事件
5、跨浏览器的事件处理程序 (能力检测,支持什么用什么)
var eventUtil = {
//添加句柄
//三个参数,给谁添加,添加什么事件,这个事件触发什么操作
addHandler:function(element,type,handler){
//DOM2级
if(element.addEventListener){
element.addEventListener(type,handler,false);
}else if(element.attachEvent){ //IE事件处理程序
element.attachEvent('on'+type,handler);
}else{ //不支持Dom2级和IE处理程序 就用Dom0级
element['on'+type] = handler;
}
}
//删除句柄
removeHandler:function(element,type,handler){
//DOM2级
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}else if(element.datachEvent){ //IE事件处理程序
element.datachEvent('on'+type,handler);
}else{ //不支持Dom2级和IE处理程序 就用Dom0级
element['on'+type] = null;
}
}
}
变量与字符串是不能用点连接的
在js中,连接属性的时候,所有用(.)连接的地方都可以用[]连接 只不过用(.)比[]用的更方便
element.onclick === element['onclick']
三、事件对象
什么是事件对象?在触发DOM上的事件时都会产生一个对象
事件对象 event
1、DOM中的事件对象
(1)、type属性 用于获取事件类型
(2)、target属性 用于获取事件目标
(3)、stopPropagation()方法 用于阻止事件冒泡
(4)、preventDefault()方法 阻止事件的默认行为
2、IE中的事件对象
(1)、type属性 用于获取事件类型
(2)、srcElement:事件目标
(3)、cancelBubble=true阻止事件冒泡
(4)、returnValue=false阻止事件的默认行为