栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

关于火狐(firefox)及ie下event获取的两种方法

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于火狐(firefox)及ie下event获取的两种方法

经常有同事问我在火狐浏览器怎么获取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]这个。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/112329.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号