欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于火狐(firefox)及ie下event獲取的兩種方法

 更新時間:2012年12月27日 09:39:44   作者:  
經(jīng)常有同事問我在火狐瀏覽器怎么獲取event的方法,大多是想獲取event.keyCode的功能,接下來為您介紹兩種實(shí)現(xiàn)方法,需要了解的朋友可以參考下
經(jīng)常有同事問我在火狐瀏覽器怎么獲取event的方法,大多是想獲取event.keyCode的功能兩種方法
第一種方法
復(fù)制代碼 代碼如下:

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

ie瀏覽器如下調(diào)用
復(fù)制代碼 代碼如下:

<body onclick="a()">

firefox火狐瀏覽器如下調(diào)用
復(fù)制代碼 代碼如下:

<body onclick="a(event)">

這樣就可以調(diào)用成功
這種方法在firefox需要帶個參數(shù)過去,不是太好,下面介紹第二種方法
第二種方法
復(fù)制代碼 代碼如下:

function a(){
e=arguments.callee.caller.arguments[0] || window.event;
alert(e.keyCode);
}

ie和firefox下都如下調(diào)用
復(fù)制代碼 代碼如下:

<body onclick="a()">

這里要解釋一下arguments.callee.caller.arguments[0],
簡單例子如下:
復(fù)制代碼 代碼如下:

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

上面的這個例子將輸出3個true,表明當(dāng)a()調(diào)用時,函數(shù)b與函數(shù)a的關(guān)系。
arguments.callee指的就是當(dāng)前的函數(shù)體
arguments.callee.caller就是當(dāng)前函數(shù)的上級函數(shù)
所以當(dāng)執(zhí)行onclick="a()"時arguments.callee就是a(),arguments.callee.caller就是function onclick
onclick的第一個能數(shù)就是event,也就是arguments.callee.caller.arguments[0]這個。

相關(guān)文章

最新評論