成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

看了跟不看沒區(qū)別的文章—摒棄e || window.event舊認識

Miyang / 1559人閱讀

摘要:前言今天,為表達我對前端的熱愛,特此發(fā)了一篇小總結(jié)。其實這是一種很籠統(tǒng)的說法,因為綁定監(jiān)聽事件的方式不同,可能情況不一樣。但是不論怎樣,這么寫準沒錯。監(jiān)聽的綁定方式為了方便描述現(xiàn)象?;鸷话銜詣痈聻樽钚掳娴模郧暗念檻]基本上沒有了。

前言

今天520,為表達我對前端的熱愛,特此發(fā)了一篇小總結(jié)。實際上你看不看這文章,對你目前來講,其實也沒多大影響,這是我的真心話哈哈

剛學(xué)前端的時候,有很多教程或者資料,都會教綁定監(jiān)聽事件函數(shù)時,可能會看到這么一句代碼

function (e) {
    var e = e || window.event;
} 

當時給你指導(dǎo)的人/資料都會跟你解釋,這是為了解決瀏覽器兼容性,為了兼容ie和Firefox。其實這是一種很籠統(tǒng)的說法,因為綁定監(jiān)聽事件的方式不同,可能情況不一樣。但是不論怎樣,這么寫準沒錯。

然而時至今日(2019-05-20),這種處理是否已經(jīng)還有必要呢,畢竟技術(shù)的東西變化很快,一些老舊的知識,是否該摒棄,別讓其再迷惑你的腦袋,讓代碼更加累贅。

監(jiān)聽的綁定方式

為了方便描述e = e || window.event現(xiàn)象。先在這里總結(jié)綁定監(jiān)聽為四類,分別舉例如下:



<div onclick="console.log()">div>


<div onclick="handlerClick()">div>
// 方式三
// 在js里直接綁定
document.getElementById("example").onclick = function() {...}
// 方式四
// 用綁定事件函數(shù)綁定
var obj = document.getElementById("example");
function handlerClick () {...}
// ie8含8以下用attachEvent,監(jiān)聽事件要帶"on"
obj.addEventListener ");"click", handlerClick, false) : obj.attachEvent("onclick", handlerClick);
event的總結(jié)

我直接上總結(jié)了,以前的資料常說的,F(xiàn)irefox瀏覽器只認識監(jiān)聽綁定的函數(shù)的第一個參數(shù)event,而IE8以下只認識window.event;

現(xiàn)在經(jīng)過測試,要糾正一點就是,Firefox瀏覽器現(xiàn)在也支持window.event了。估計是版本比較老的火狐才不支持吧

所以現(xiàn)在唯一特立獨行的就是讓人苦惱的IE8(含8)以下的了。所以時至今日的新的總結(jié)就是:

方式一

只有ie8以下(含8)只認識window.event,其他瀏覽器都支持window.event和句柄第一個參數(shù)event(剛好與window.event同名而已)

這種綁定方式,只需要寫個event就夠了,通吃!雖然本質(zhì)上要知道ie8以下是當做window.event,只是省略了window

方式二

可以傳參window.event(可省略window),也可以不傳參,直接在函數(shù)里用window.event(可省略window)。 畢竟所有瀏覽器都認識window.event

方式三

ie8以下(含8)不支持函數(shù)第一個參數(shù)是event的

所以統(tǒng)一不寫第一個參數(shù)event,直接在代碼里用event就好了。因為大家都支持window.event

方式四

任何一種方式都支持,可以是綁定函數(shù)帶第一個參數(shù)event也可以是不帶第一個參數(shù)直接寫window.event(可省略window)

在這種方式里很特殊,就算是IE8以下的都支持第一個參數(shù)event

大總結(jié)

以后要用event的話,所有瀏覽器統(tǒng)一當做window.event來處理就行了?;鸷话銜詣痈聻樽钚掳娴?,所以前的顧慮基本上沒有了。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/6738.html

相關(guān)文章

  • 前端面試(知識點)整理(一)

    摘要:接受個參數(shù)事件類型,是否冒泡,是否阻止瀏覽器的默認行為觸發(fā)上綁定的自定義事件觸發(fā)元素上綁定事件事件的委托代理的原理以及優(yōu)缺點。委托代理事件是那些被綁定到父級元素的事件,但是只有當滿足一定匹配條件時才會被挪。 一、頁面布局 1.問題:假設(shè)高度已知,請寫出三欄布局 ,其中左欄、右欄寬度各為300px,中間自適應(yīng)。 解決方案一:使用浮動布局` Document ...

    zhichangterry 評論0 收藏0
  • 前端面試(知識點)整理(一)

    摘要:接受個參數(shù)事件類型,是否冒泡,是否阻止瀏覽器的默認行為觸發(fā)上綁定的自定義事件觸發(fā)元素上綁定事件事件的委托代理的原理以及優(yōu)缺點。委托代理事件是那些被綁定到父級元素的事件,但是只有當滿足一定匹配條件時才會被挪。 一、頁面布局 1.問題:假設(shè)高度已知,請寫出三欄布局 ,其中左欄、右欄寬度各為300px,中間自適應(yīng)。 解決方案一:使用浮動布局` Document ...

    Songlcy 評論0 收藏0
  • 前端面試(知識點)整理(一)

    摘要:接受個參數(shù)事件類型,是否冒泡,是否阻止瀏覽器的默認行為觸發(fā)上綁定的自定義事件觸發(fā)元素上綁定事件事件的委托代理的原理以及優(yōu)缺點。委托代理事件是那些被綁定到父級元素的事件,但是只有當滿足一定匹配條件時才會被挪。 一、頁面布局 1.問題:假設(shè)高度已知,請寫出三欄布局 ,其中左欄、右欄寬度各為300px,中間自適應(yīng)。 解決方案一:使用浮動布局` Document ...

    ThreeWords 評論0 收藏0
  • 前端筆記

    摘要:一嚴格模式與混雜模式如何觸發(fā)這兩種模式,區(qū)分它們有何意義聲明位于文檔中的最前面的位置,處于標簽之前。包含過渡和的也導(dǎo)致頁面以標準模式呈現(xiàn),但是有過渡而沒有會導(dǎo)致頁面以混雜模式呈現(xiàn)。不存在或形式不正確會導(dǎo)致和文檔以混雜模式呈現(xiàn)。 一:HTML+css 1.Doctype? 嚴格模式與混雜模式-如何觸發(fā)這兩種模式,區(qū)分它們有何意義? Doctype聲明位于文檔中的最前面的位置,處于標簽...

    未東興 評論0 收藏0
  • 前端筆記

    摘要:一嚴格模式與混雜模式如何觸發(fā)這兩種模式,區(qū)分它們有何意義聲明位于文檔中的最前面的位置,處于標簽之前。包含過渡和的也導(dǎo)致頁面以標準模式呈現(xiàn),但是有過渡而沒有會導(dǎo)致頁面以混雜模式呈現(xiàn)。不存在或形式不正確會導(dǎo)致和文檔以混雜模式呈現(xiàn)。 一:HTML+css 1.Doctype? 嚴格模式與混雜模式-如何觸發(fā)這兩種模式,區(qū)分它們有何意義? Doctype聲明位于文檔中的最前面的位置,處于標簽...

    binta 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<