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


Posted in Javascript onDecember 27, 2012

经常有同事问我在火狐浏览器怎么获取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]这个。
Javascript 相关文章推荐
Jquery 实现Tab效果 思路是js思路
Mar 02 Javascript
基于JQuery的日期联动实现代码
Feb 24 Javascript
window.addEventListener来解决让一个js事件执行多个函数
Dec 26 Javascript
Jquery 自定义动画概述及示例
Mar 29 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
Jul 21 Javascript
node.js中的fs.chown方法使用说明
Dec 16 Javascript
利用css+原生js制作简单的钟表
Apr 07 Javascript
Bootstrap源码解读导航条(7)
Dec 23 Javascript
JS回调函数 callback的理解与使用案例分析
Sep 09 Javascript
使用p5.js实现动态GIF图片临摹重现
Oct 23 Javascript
vue-iview动态新增和删除的方法
Jun 17 Javascript
vue+Element-ui前端实现分页效果
Nov 15 Javascript
Javascript图像处理—为矩阵添加常用方法
Dec 27 #Javascript
ie支持function.bind()方法实现代码
Dec 27 #Javascript
前后台交互过程中json格式如何解析以及如何生成
Dec 26 #Javascript
多个js与css文件的合并方法详细说明
Dec 26 #Javascript
JS打开图片另存为对话框实现代码
Dec 26 #Javascript
window.addEventListener来解决让一个js事件执行多个函数
Dec 26 #Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
Dec 26 #Javascript
You might like
PHP实时显示输出
2008/10/02 PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
基于jquery的模态div层弹出效果
2010/08/21 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
js闭包实例汇总
2014/11/09 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
JavaScript、jQuery与Ajax的关系
2016/01/24 Javascript
vue v-on监听事件详解
2017/05/17 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
javascript实现简单打字游戏
2019/10/29 Javascript
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
pybind11在Windows下的使用教程
2019/07/04 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
Python迭代器协议及for循环工作机制详解
2020/07/14 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
Python实现随机爬山算法
2021/01/29 Python
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
音乐专业自荐信
2014/02/07 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
逃课检讨书范文
2015/05/06 职场文书
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js
Nginx禁止ip访问或非法域名访问
2022/04/07 Servers