一些js兼容問題

offsetHeight的問題: 換成了:offsetHeight對象,因爲各種瀏覽器對clientHeight對象理解定義不同,所以用clientHeight可能會出現瀏覽器兼容問題 特別是google瀏覽器和firefox瀏覽器

event對象firefox 不不支持的問題: 用的方法是:

  function IsIe(e)
    {
        if(window.event&&typeof(event.srcElement)!="undefined")
            {
            return event.srcElement.checked;
            }
        else
            {
             var myff = function(){var c=myff.caller; while(c.caller)c=c.caller; return c.arguments[0]};
            __defineGetter__("event", myff);
            return event.target.checked;
            }
    }

說明:第一步先是判斷event對象是否是存在的,看是不是firefox瀏覽器,爲什麼要加上event.srcElement呢? 因爲 如果要重複的調用這個方法 那麼window.event 是會有值的(在else中其實是像window對象添加一個event的屬性 所以,如果多次調用這個IsIe這個方法就會出現window.event對象有值.固window.event就不能單獨的判斷對象是不是firefox瀏覽器了,還要注意 寫法)

在firefox中和ie中移除對象的方法是不同的: 在ie中移除對象的方法是: object.parentNode.removeNode(true/false); 或者是更簡單的:object.removeNode(true/false)的寫法,但在firefox中卻認爲這樣自己是不能將自己移除的,故報錯. 在firefox的寫法是:object.parentNode.removeChild(object); 自己的父級移除自己.

ie中的srcElement對象和firefox中的event.target對象, 話說看了好多的帖子啊blog啊 都說event.target對象就相等魚event.srcElement對象,當然這是對的,在firefox中的的確確能用而且只能使用event.target對象,但是有一個前提是:event對象必須的保證存在.用上面的方法就可以實現判斷.

這僅僅是js兼容的一毛而已,寫下面,免的以後在找!


發佈了73 篇原創文章 · 獲贊 14 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章