DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 關於火狐(firefox)及ie下event獲取的兩種方法
關於火狐(firefox)及ie下event獲取的兩種方法
編輯:關於JavaScript     
經常有同事問我在火狐浏覽器怎麼獲取event的方法,大多是想獲取event.keyCode的功能兩種方法
第一種方法
復制代碼 代碼如下:
function a(e){
e=e||window.event;
alert(e.keyCode);
}

ie浏覽器如下調用
復制代碼 代碼如下:
<body onclick="a()">

firefox火狐浏覽器如下調用
復制代碼 代碼如下:
<body onclick="a(event)">

這樣就可以調用成功
這種方法在firefox需要帶個參數過去,不是太好,下面介紹第二種方法
第二種方法
復制代碼 代碼如下:
function a(){
e=arguments.callee.caller.arguments[0] || window.event;
alert(e.keyCode);
}

ie和firefox下都如下調用
復制代碼 代碼如下:
<body onclick="a()">

這裡要解釋一下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]這個。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved