js中,如果遇到同一个变量,被同一个函数使用多次时,只会执行最后一个函数的命令。
如果想要每一个函数的命令都被执行,就需要用到事件的绑定。
js中绑定事件的函数分为兼容ie和兼容非ie的两个:
IE:
attachEvent(事件名称, 函数),绑定事件处理函数
detachEvent(事件名称, 函数),解除绑定
非IE:
addEventListener(事件名称,函数, 捕获),绑定事件处理函数
removeEventListener(事件名称, 函数, 捕获),解除绑定
例如,我想在下面的函数中又弹出a又弹出b:
window.οnlοad=function (){
alert('a');
};
window.οnlοad=function (){
alert('b');
};
这样只会弹出b;
需要用到事件绑定,
function aEvent(obj,ev,fn){
if(obj.attachEvent){
obj.attachEvent('on'+ev,fn);
}
else{
obj.addEventListener(ev,fn,false);
}
}
完整函数:
window.οnlοad=function(){
var oShow=document.getElementById('show');
function aEvent(obj,ev,fn){
if(obj.attachEvent){
obj.attachEvent('on'+ev,fn);
}
else{
obj.addEventListener(ev,fn,false);
}
}
aEvent(oShow,'click',function(){
alert('a');
})
aEvent(oShow,'click',function(){
alert('b');
})
}
如果想要每一个函数的命令都被执行,就需要用到事件的绑定。
js中绑定事件的函数分为兼容ie和兼容非ie的两个:
IE:
attachEvent(事件名称, 函数),绑定事件处理函数
detachEvent(事件名称, 函数),解除绑定
非IE:
addEventListener(事件名称,函数, 捕获),绑定事件处理函数
removeEventListener(事件名称, 函数, 捕获),解除绑定
例如,我想在下面的函数中又弹出a又弹出b:
window.οnlοad=function (){
alert('a');
};
window.οnlοad=function (){
alert('b');
};
这样只会弹出b;
需要用到事件绑定,
function aEvent(obj,ev,fn){
if(obj.attachEvent){
obj.attachEvent('on'+ev,fn);
}
else{
obj.addEventListener(ev,fn,false);
}
}
完整函数:
window.οnlοad=function(){
var oShow=document.getElementById('show');
function aEvent(obj,ev,fn){
if(obj.attachEvent){
obj.attachEvent('on'+ev,fn);
}
else{
obj.addEventListener(ev,fn,false);
}
}
aEvent(oShow,'click',function(){
alert('a');
})
aEvent(oShow,'click',function(){
alert('b');
})
}