用 或 || 來兼容FireFox
看例子:
運(yùn)行代碼框
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]
找到 document.body.onclick = function(evt),
在IE下,這個evt是不會有的,但是在fireFox下(opera下好像也是)會默認(rèn)傳這個參數(shù).在IE下,這個參數(shù)是 null ,想兼容,就這樣寫.
繼續(xù)向下:
evt = evt || window.event;
在IE下,evt 就會指向:window.event,在fireFox下,就會指向那個默認(rèn)參數(shù).
因?yàn)樵贗E下 evt || window.event 相當(dāng)于: null || window.event,結(jié)果還是window.event
而在fireFox下,就相當(dāng)于 evt || null ,結(jié)果就是evt
向下看:
o.previousSibling.href || o.previousSibling.previousSibling.href
前面一個表達(dá)式用于IE下,后面一個用于FireFox下.
FireFox下,沒有preserveWhiteSpace這個屬性,即:把空白也當(dāng)作一個節(jié)點(diǎn),而IE則默認(rèn)為false,即把空白不看成一個節(jié)點(diǎn).
這里說到了XMLDom,似乎和上面所說的不相關(guān),但是在FireFox下 previousSibling就是空白,除非兩個HTML標(biāo)簽之間沒有任何形式的空格.
<a /></a>
<a href="圖片地址">打開</a>
兩個<a>之間有換行(屬于空格的一種),所以在FireFox下,取下面一個<a>的前一個節(jié)點(diǎn)的話,就必須用:
o.previousSibling.previousSibling.href
可能你還是沒有看明白,沒關(guān)系,再舉個簡單的:
運(yùn)行代碼框
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]
相關(guān)文章
微信小程序 wx.request(object) API詳解及實(shí)例代碼
這篇文章主要介紹了微信小程序 wx.request(object) API詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-09-09
5種 JavaScript 方式實(shí)現(xiàn)數(shù)組扁平化
這篇文章主要介紹5種 JavaScript 方式實(shí)現(xiàn)數(shù)組扁平化,雖說只有5種方法,但是核心只有一個就是遍歷數(shù)組arr,若arr[i]為數(shù)組則遞歸遍歷,直至arr[i]不為數(shù)組然后與之前的結(jié)果concat。 想具體了解的小伙伴那請看下面文章內(nèi)容吧2021-09-09
微信小程序開發(fā)之相冊選擇和拍照詳解及實(shí)例代碼
這篇文章主要介紹了微信小程序開發(fā)之相冊選擇和拍照詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02
JavaScript 運(yùn)行機(jī)制詳解再淺談Event Loop
這篇文章主要介紹了JavaScript 運(yùn)行機(jī)制詳解及淺談了Event Loop,感興趣的小伙伴可以和小編一起閱讀下面文章的具體內(nèi)容2021-09-09

