最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript下IE與Firefox下的差異兼容寫法總結

 更新時間:2010年06月18日 11:56:37   作者:  
總結一部分IE和Firefox的javascript差異寫法,對于像書寫多瀏覽器兼容性更好的代碼,可以參考下。
window.event對象差異
IE:有window.event對象
FF:沒有window.event對象??梢酝ㄟ^給函數的參數傳遞event對象。如onmousemove=doMouseMove(event)

獲取鼠標當前坐標
IE:event.x和event.y。
FF:event.pageX和event.pageY。
通用:兩者都有event.clientX和event.clientY屬性。

鼠標當前坐標(加上滾動條滾過的距離)
IE:event.offsetX和event.offsetY。
FF:event.layerX和event.layerY。

標簽的x和y的坐標位置:style.posLeft 和 style.posTop
IE:有。
FF:沒有。
通用:object.offsetLeft 和 object.offsetTop。


獲取窗體的高度和寬度
IE:document.body.offsetWidth和document.body.offsetHeight。注意:此時頁面一定要有body標簽。
FF:window.innerWidth和window.innerHegiht,以及document.documentElement.clientWidth和document.documentElement.clientHeight。
通用:document.body.clientWidth和document.body.clientHeight。

添加事件
IE:element.attachEvent(”onclick”, func);。
FF:element.addEventListener(”click”, func, true)。
通用:element.onclick=func。雖然都可以使用onclick事件,但是onclick和上面兩種方法的效果是不一樣的,onclick只有執(zhí)行一個過程,而attachEvent和addEventListener執(zhí)行的是一個過程列表,也就是多個過程。例如:element.attachEvent(”onclick”, func1);element.attachEvent(”onclick”, func2)這樣func1和func2都會被執(zhí)行。

在這里斷橋殘雪,曾經寫過一個通用的添加刪除綁定事件的函數,大家可以查看以下文章:《JavaScript跨瀏覽器的添加刪除事件綁定函數》

標簽的自定義屬性
IE:如果給標簽div1定義了一個屬性value,可以div1.value和div1["value"]取得該值。
FF:不能用div1.value和div1["value"]取。
通用:div1.getAttribute(”value”)。

父節(jié)點、子節(jié)點和刪除節(jié)點
IE:parentElement、parement.children,element.romoveNode(true)。
FF:parentNode、parentNode.childNodes,node.parentNode.removeChild(node)。


clientX,pageX,offsetX,x,layerX,screenX,offsetLeft
screenX:鼠標在顯示屏幕上的坐標。
clientX:鼠標在頁面顯示區(qū)域的坐標。
注:以上兩個都是各瀏覽器通用的。以下為特有方法:

pageX:FF特有,鼠標在頁面上的位置,從頁面左上角開始定位,這個可以很方便在整個頁面上進行定位,IE沒有直接替換的屬性。
layerX:FF特有,鼠標相對于“觸發(fā)事件的元素的層級關系中離該元素最近的,設置了position的父元素”的邊界的位置,從border的左上角開始定位,即如果這個父元素存在border,則坐標原點在border的左上角,而不是內容區(qū)域的左上角。
offsetX:IE特有,鼠標相對于“觸發(fā)事件的元素”的位置,從內容區(qū)域左上角開始定位,不是從border左上角開始!這個屬性比較好用,用來判斷鼠標點在一個元素中的哪個位置很方便,FF沒有直接替換的屬性。
x:IE特有,跟layerX一個效果,可作為layerX的直接替換屬性。
注:IE和FF的定位有個1px的差別,實際上,IE的定位從0開始,FF的定位從1開始,FF永遠會比IE大1px,需要根據實際情況處理。

offsetLeft:這個屬性不是事件對象的屬性,而是DOM對象所有的,該屬性表示的是DOM對象在“該DOM對象的層級關系中離該對象最近的,設置了position的父對象”中的位置,雖然話是這么說的,但是不同的瀏覽器效果不一樣。

FF中嚴格按上述說明執(zhí)行,但是在IE6/7中,這個屬性返回該DOM對象在其直接父對象中的位置,但是IE8改正了這個問題,不過IE8又有了一個新問題,其他的瀏覽器都是從父對象的內容區(qū)域的左上角開始定位,IE8確是從父元素的border的左上角開始定位,由于測試環(huán)境為IETester中的IE8,不能排除是IETester的問題。

相關文章

  • JavaScript中slice和padEnd的使用小結

    JavaScript中slice和padEnd的使用小結

    本文介紹了JavaScript中slice和padEnd的使用小結,常常被用于數據處理、格式化和切割任務中,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • 原生js實現class的添加和刪除簡單代碼

    原生js實現class的添加和刪除簡單代碼

    下面小編就為大家?guī)硪黄鷍s實現class的添加和刪除簡單代碼。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 微信小程序封裝自定義彈窗的實現代碼

    微信小程序封裝自定義彈窗的實現代碼

    這篇文章主要介紹了微信小程序封裝自定義彈窗的實現代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • 微信小程序生成分享海報方法(附帶二維碼生成)

    微信小程序生成分享海報方法(附帶二維碼生成)

    這篇文章主要介紹了微信小程序生成分享海報方法(附帶二維碼生成),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • 詳解JS變量存儲深拷貝和淺拷貝

    詳解JS變量存儲深拷貝和淺拷貝

    這篇文章主要介紹了JS變量存儲深拷貝和淺拷貝,想深入了解JS的同學,可以參考下
    2021-05-05
  • JavaScript制作簡單網頁計算器

    JavaScript制作簡單網頁計算器

    這篇文章主要為大家詳細介紹了JavaScript制作簡單網頁計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 微信小程序中多個頁面?zhèn)鲄⑼ㄐ诺膶W習與實踐

    微信小程序中多個頁面?zhèn)鲄⑼ㄐ诺膶W習與實踐

    剛接觸微信小程序,對里面的語法和屬性還不怎么了解,最近正在努力學習中,下面這篇文章主要給大家介紹了微信小程序中多個頁面?zhèn)鲄⑼ㄐ诺南嚓P資料,是最近學習的一個內容總結,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • JavaScript實時監(jiān)聽localStorage變化的實現方法小結

    JavaScript實時監(jiān)聽localStorage變化的實現方法小結

    很多時候,我們在A頁面通過點擊之類的操作獲得一個數值,然后拿到B頁面使用,我們希望這個值是響應式的,當然你可以使用vue或者react的實現,這篇文章適合想偷懶或者很多后端小伙不愿意去用的使用,效果是差不多的主要是適用于任何基于JavaScript的項目,需要的朋友可以參考下
    2024-06-06
  • 怎么判斷js腳本加載完成

    怎么判斷js腳本加載完成

    本篇文章主要是對判斷js腳本加載完成的方法進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02
  • js實現一個省市區(qū)三級聯動選擇框代碼分享

    js實現一個省市區(qū)三級聯動選擇框代碼分享

    省市區(qū)三級聯動在填寫表單時有關地址這一塊顯得尤為重要,直接提高了用戶的填寫速度與準確度,接下來本文使用js代碼實現一個,感興趣的你可以參考下希望可以幫助到你
    2013-03-03

最新評論

莱西市| 高淳县| 嵩明县| 昂仁县| 肥城市| 镇巴县| 大邑县| 神农架林区| 新干县| 德清县| 怀集县| 和静县| 原平市| 五峰| 和龙市| 松潘县| 青岛市| 阳高县| 长子县| 蓝田县| 略阳县| 定南县| 新余市| 华阴市| 三明市| 聂拉木县| 巴中市| 扎赉特旗| 宁晋县| 金塔县| 鹰潭市| 东乡| 高陵县| 平乐县| 鄱阳县| 峨眉山市| 溆浦县| 铜山县| 增城市| 洪泽县| 永修县|