firefox 火狐及ie下event怎么獲???兩種獲取方法分享

經常有同事問我在火狐瀏覽器怎么獲取event的方法 , 大多是想獲取event.keyCode的功能兩種方法
第一種方法:

firefox 火狐及ie下event怎么獲取?兩種獲取方法分享

ie瀏覽器如下調用
firefox 火狐及ie下event怎么獲取?兩種獲取方法分享

firefox火狐瀏覽器如下調用
firefox 火狐及ie下event怎么獲取?兩種獲取方法分享

這樣就可以調用成功
這種方法在firefox需要帶個參數過去,不是太好,下面介紹第二種方法
第二種方法:
firefox 火狐及ie下event怎么獲?。績煞N獲取方法分享

ie和firefox下都如下調用
firefox 火狐及ie下event怎么獲???兩種獲取方法分享

這里要解釋一下arguments.callee.caller.arguments[0],
簡單例子如下:
firefox 火狐及ie下event怎么獲???兩種獲取方法分享

上面的這個例子將輸出3個true,表明當a()調用時,函數b與函數a的關系 。
arguments.callee指的就是當前的函數體
arguments.callee.caller就是當前函數的上級函數
所以當執行onclick="a()"時arguments.callee就是a() , arguments.callee.caller就是function onclick
onclick的第一個能數就是event,也就是arguments.callee.caller.arguments[0]這個 。
【firefox 火狐及ie下event怎么獲???兩種獲取方法分享】

相關經驗推薦