首頁 > web前端 > js教程 > 主體

關於火狐(firefox)及ie下event取得的兩種方法_javascript技巧

WBOY
發布: 2016-05-16 17:45:08
原創
1044 人瀏覽過

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

複製程式碼 程式碼如下:

function a(e){
e=e||window.event; alert(e.keyCode);
}

ie瀏覽器如下調用

複製代碼 程式碼如下:


firefox火狐瀏覽器如下呼叫

複製程式碼 程式碼如下:


這樣就可以呼叫成功
這種方法在firefox需要帶個參數過去,不是太好,下面介紹第二種方法

第二種方法
複製程式碼 程式碼如下:
function a(){
e=arguments.callee.caller.arguments[0] || window .event;
alert(e.keyCode);
}

ie和firefox下方都如下呼叫

複製程式碼 程式碼如下:


這裡要解釋一下arguments.callee.caller. arguments[0],
簡單範例如下:

複製程式碼 程式碼如下:




function a(){
b();
}
function b(){
alert(b === arguments.callee)
alert(b.caller === a)
alert(arguments.callee.caller === a)
}
a();


上面的這個例子會輸出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]這個。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!