window.addEventListener來解決讓一個(gè)js事件執(zhí)行多個(gè)函數(shù)
更新時(shí)間:2012年12月26日 11:35:31 作者:
可能你也碰到過這種情況,就是在js的代碼中用了window.onload后,可能會影響到body中的onload事件。這時(shí)就要用window.attachEvent和window.addEventListener來解決一下,需要的朋友可以參考下
可能你也碰到過這種情況,就是在js的代碼中用了window.onload后,可能會影響到body中的onload事件。你可以全寫在body中,也可以全放到window.onload中,但是這樣并不是很方便,有時(shí)我們需要兩個(gè)同時(shí)用到。這時(shí)就要用window.attachEvent和window.addEventListener來解決一下。
下面是一個(gè)解決方法。至于attachEvent和addEventListener的用法,可以自己Google或百度一下。
if (document.all){
window.attachEvent('onload',函數(shù)名)//IE中
}
else{
window.addEventListener('load',函數(shù)名,false);//firefox
}
在近來的工作中,用到了attachEvent方法,該方法可以為某一事件附加其它的處理事件,有時(shí)候可能比較有用,這里將其基本用法總結(jié)一下。
其語法可以查看《DHTML手冊》,里面有詳細(xì)的說明,這里貼一個(gè)例子,該例子來自互聯(lián)網(wǎng):
document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;
如果這樣寫,那么將會只有medhot3被執(zhí)行
寫成這樣:
var btn1Obj = document.getElementById("btn1");
//object.attachEvent(event,function);
btn1Obj.attachEvent("onclick",method1);
btn1Obj.attachEvent("onclick",method2);
btn1Obj.attachEvent("onclick",method3);
執(zhí)行順序?yàn)閙ethod3->method2->method1
如果是Mozilla系列,并不支持該方法,需要用到addEventListener
var btn1Obj = document.getElementById("btn1");
//element.addEventListener(type,listener,useCapture);
btn1Obj.addEventListener("click",method1,false);
btn1Obj.addEventListener("click",method2,false);
btn1Obj.addEventListener("click",method3,false);
執(zhí)行順序?yàn)閙ethod1->method2->method3
下面是一個(gè)解決方法。至于attachEvent和addEventListener的用法,可以自己Google或百度一下。
復(fù)制代碼 代碼如下:
if (document.all){
window.attachEvent('onload',函數(shù)名)//IE中
}
else{
window.addEventListener('load',函數(shù)名,false);//firefox
}
在近來的工作中,用到了attachEvent方法,該方法可以為某一事件附加其它的處理事件,有時(shí)候可能比較有用,這里將其基本用法總結(jié)一下。
其語法可以查看《DHTML手冊》,里面有詳細(xì)的說明,這里貼一個(gè)例子,該例子來自互聯(lián)網(wǎng):
復(fù)制代碼 代碼如下:
document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;
如果這樣寫,那么將會只有medhot3被執(zhí)行
寫成這樣:
復(fù)制代碼 代碼如下:
var btn1Obj = document.getElementById("btn1");
//object.attachEvent(event,function);
btn1Obj.attachEvent("onclick",method1);
btn1Obj.attachEvent("onclick",method2);
btn1Obj.attachEvent("onclick",method3);
執(zhí)行順序?yàn)閙ethod3->method2->method1
如果是Mozilla系列,并不支持該方法,需要用到addEventListener
復(fù)制代碼 代碼如下:
var btn1Obj = document.getElementById("btn1");
//element.addEventListener(type,listener,useCapture);
btn1Obj.addEventListener("click",method1,false);
btn1Obj.addEventListener("click",method2,false);
btn1Obj.addEventListener("click",method3,false);
執(zhí)行順序?yàn)閙ethod1->method2->method3
相關(guān)文章
使用BootStrapValidator完成前端輸入驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了使用BootStrapValidator來完成前端輸入驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09js操作數(shù)組函數(shù)實(shí)例小結(jié)
這篇文章主要介紹了js操作數(shù)組函數(shù),實(shí)例分析了JavaScript針對數(shù)組刪除指定元素、去重及刪除指定下標(biāo)元素的實(shí)現(xiàn)方法,需要的朋友可以參考下2015-12-12Selenium執(zhí)行Javascript腳本參數(shù)及返回值過程詳解
這篇文章主要介紹了Selenium執(zhí)行Javascript腳本參數(shù)及返回值過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Java中int與integer的區(qū)別(基本數(shù)據(jù)類型與引用數(shù)據(jù)類型)
這篇文章主要介紹了int與integer的區(qū)別(基本數(shù)據(jù)類型與引用數(shù)據(jù)類型),簡單的說 int 是基本數(shù)據(jù)類型,integer 是引用數(shù)據(jù)類型,具體區(qū)別詳解大家參考下本文2017-02-02