當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
JS:attachEvent和addEventListener方法
生活随笔
收集整理的這篇文章主要介紹了
JS:attachEvent和addEventListener方法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
<SCRIPT?LANGUAGE="JavaScript">
<!--
????/****************************************************************************
????attachEvent使用這個(gè)方法,可以給一個(gè)事件指派多個(gè)處理過(guò)程,可是?Mozilla/Firefox?不支持此方法,
????但是它支持另一個(gè)?addEventListener?方法,它與?attachEvent不同之處在于attachEvent方法中的事
????件是已'on'開(kāi)頭的,而addEventListener?是沒(méi)有'on'的,另外它還有第三個(gè)參數(shù),一般指定為?false
????****************************************************************************/
????function?wcj_addEvent(obj,evType,fn){
????????if(obj.addEventListener){
????????????obj.addEventListener(evType,fn,false);
????????????return?true;
????????}
????????else?if(obj.attachEvent){
????????????var?r?=?obj.attachEvent("on"+evType,fn);
????????????return?r;
????????}else{
????????????return?false;
????????}
????}
????function?init(){
????????alert("觸發(fā)我!");
????}
????wcj_addEvent(window,"load",init);
//-->
</SCRIPT>
//IE瀏覽器
window.attachEvent('onload',?handler1);
window.attachEvent('onload',?handler2);
}
else?{
//fx瀏覽器
window.addEventListener('load',?handler1,?false);
window.addEventListener('load',?handler2,?false);
}
<!--
????/****************************************************************************
????attachEvent使用這個(gè)方法,可以給一個(gè)事件指派多個(gè)處理過(guò)程,可是?Mozilla/Firefox?不支持此方法,
????但是它支持另一個(gè)?addEventListener?方法,它與?attachEvent不同之處在于attachEvent方法中的事
????件是已'on'開(kāi)頭的,而addEventListener?是沒(méi)有'on'的,另外它還有第三個(gè)參數(shù),一般指定為?false
????****************************************************************************/
????function?wcj_addEvent(obj,evType,fn){
????????if(obj.addEventListener){
????????????obj.addEventListener(evType,fn,false);
????????????return?true;
????????}
????????else?if(obj.attachEvent){
????????????var?r?=?obj.attachEvent("on"+evType,fn);
????????????return?r;
????????}else{
????????????return?false;
????????}
????}
????function?init(){
????????alert("觸發(fā)我!");
????}
????wcj_addEvent(window,"load",init);
//-->
</SCRIPT>
?
程序中給一個(gè)事件指派多個(gè)處理過(guò)程的話,只要首先判斷一下瀏覽器,然后根據(jù)不同的瀏覽器,選擇使用 attachEvent 還是 addEventListener
if?(document.all)?{//IE瀏覽器
window.attachEvent('onload',?handler1);
window.attachEvent('onload',?handler2);
}
else?{
//fx瀏覽器
window.addEventListener('load',?handler1,?false);
window.addEventListener('load',?handler2,?false);
}
?
注意:attachEvent 所指派的多個(gè)過(guò)程的執(zhí)行順序是隨機(jī)的,所以這幾個(gè)過(guò)程之間不要有順序依賴。另外 attachEvent 和 addEventListener 不僅僅適用于 window 對(duì)象,其他的一些對(duì)象也支持該方法。
轉(zhuǎn)載于:https://www.cnblogs.com/wcj12168/archive/2009/10/18/1585662.html
總結(jié)
以上是生活随笔為你收集整理的JS:attachEvent和addEventListener方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Delphi 2010 新增功能之: I
- 下一篇: 一个高(3D/2D)动态表现的酷站