国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

window.addEventListener來解決讓一個js事件執行多個函數

2024-05-06 14:20:18
字體:
來源:轉載
供稿:網友
可能你也碰到過這種情況,就是在js的代碼中用了window.onload后,可能會影響到body中的onload事件。你可以全寫在body中,也可以全放到window.onload中,但是這樣并不是很方便,有時我們需要兩個同時用到。這時就要用window.attachEvent和window.addEventListener來解決一下。

下面是一個解決方法。至于attachEvent和addEventListener的用法,可以自己Google或百度一下。
代碼如下:
if (document.all){
window.attachEvent('onload',函數名)//IE中
}
else{
window.addEventListener('load',函數名,false);//firefox
}

在近來的工作中,用到了attachEvent方法,該方法可以為某一事件附加其它的處理事件,有時候可能比較有用,這里將其基本用法總結一下。

其語法可以查看《DHTML手冊》,里面有詳細的說明,這里貼一個例子,該例子來自互聯網:
代碼如下:
document.getElementById("btn").onclick = method1;
document.getElementById("btn").onclick = method2;
document.getElementById("btn").onclick = method3;

如果這樣寫,那么將會只有medhot3被執行

寫成這樣:
代碼如下:
var btn1Obj = document.getElementById("btn1");
//object.attachEvent(event,function);
btn1Obj.attachEvent("onclick",method1);
btn1Obj.attachEvent("onclick",method2);
btn1Obj.attachEvent("onclick",method3);

執行順序為method3->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);

執行順序為method1->method2->method3
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 尖扎县| 新乐市| 建湖县| 横峰县| 翁牛特旗| 平乐县| 大关县| 建德市| 东港市| 临清市| 工布江达县| 儋州市| 泸州市| 射洪县| 白城市| 遵义市| 曲阜市| 咸丰县| 永康市| 疏附县| 邵阳县| 辛集市| 宁阳县| 洪湖市| 永清县| 莲花县| 江西省| 福鼎市| 金坛市| 巴里| 阳原县| 涞源县| 高雄县| 阿图什市| 高唐县| 西青区| 高平市| 拜泉县| 太湖县| 石门县| 吉林省|