2 回答

TA貢獻(xiàn)1038條經(jīng)驗(yàn) 獲得超227個(gè)贊
第一個(gè)問題源于瀏覽器對事件對象解析。理論上只要各大瀏覽器廠商使用相同的api.就不用寫一些兼容性代碼。寫在onkeydown函數(shù)內(nèi),是為了獲取按鍵一動(dòng)作產(chǎn)生的事件(keydown事件)。
第二問題。刪除 代碼沒問題,只是你第用的瀏覽器版本太接近現(xiàn)代版本了(新版本各大瀏覽器api趨向一支致)。說白點(diǎn),弄幾個(gè) 低版本的瀏覽器測,比如ie6,7,8試試?;蛘咴诰€一些不同版本內(nèi)核的瀏覽器測試軟件看看。

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個(gè)贊
補(bǔ)充下, 在現(xiàn)代大多數(shù)瀏覽器中, 一次事件的事件對象(event), 是傳給回調(diào)函數(shù)(callback)的, 于是你可以在你自己寫的事件回調(diào)中定義形參(e或event或無論什么)拿到這個(gè)event對象,但是??! 瓜皮老IE,它的每次事件觸發(fā)后, 不是通過回調(diào)函數(shù)把event給調(diào)用者, 而是直接賦給了window.event這個(gè)全局屬性?。。X殘吧?。?所以,這個(gè)時(shí)候只能通過window.evnet訪問了,綜上所述,是為了兼容低版本IE。 所以,這段代碼當(dāng)然要放在回調(diào)內(nèi)部, 放在外部的話, window.event還沒被賦值呢。
添加回答
舉報(bào)