关于火狐(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 相关文章推荐
Javascript &amp; DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
Jun 02 Javascript
firefox下对ajax的onreadystatechange的支持情况分析
Dec 14 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
Oct 12 Javascript
IE关闭时判断及AJAX注销案例学习
Feb 18 Javascript
jquery slibings选取同级其他元素的实现代码
Nov 15 Javascript
jQuery中获取checkbox选中项等操作及注意事项
Nov 24 Javascript
jQuery插件实现控制网页元素动态居中显示
Mar 24 Javascript
jQuery之简单的表单验证实例
Jul 07 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
Mar 09 Javascript
JS全角与半角转化实例(分享)
Jul 04 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
Jul 04 Javascript
layui 数据表格 点击分页按钮 监听事件的实例
Sep 02 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版(4)
2006/10/09 PHP
PHP5中新增stdClass 内部保留类
2011/06/13 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
PHP获取Exif缩略图的方法
2015/07/13 PHP
jQuery 技巧小结
2010/04/02 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
js查错流程归纳
2012/05/04 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
JS 获取滚动条高度示例代码
2013/10/24 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
Python中的条件判断语句基础学习教程
2016/02/07 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
Python读取stdin方法实例
2019/05/24 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
全球虚拟主机商:HostGator
2017/02/06 全球购物
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
介绍下WebSphere的安全性
2013/01/31 面试题
领班岗位职责范文
2014/02/06 职场文书
安全生产先进个人材料
2014/02/06 职场文书
单位绩效考核方案
2014/05/11 职场文书
给校长的建议书200字
2014/05/16 职场文书
2014年环境整治工作总结
2014/12/10 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
Python 制作自动化翻译工具
2021/04/25 Python
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python