火狐和ie下获取javascript 获取event的方法

2024-06-24 11:03:32阅读量:32 字体:

javascript 获取event

先从一个简单的例子说起,一个简单的button控件如下:

然后为其注册事件,这样的情况,怎么在javascript里获取event呢,特别是firefox的情况。请看:

火狐和ie下获取javascript 获取event的方法

不出意外的话,在ie/ff下,上面例子都将输出INPUT,即是触发click事件节点的标签名,ie的event获取这里就不说了,重点说说ff下的情况。

这里的arguments.callee.caller.arguments[0]看起来又长又怪,为什么在firefox的情况下,这个东西就是event呢?

首先得了解arguments.callee是什么东西,caller又是什么样的属性?

argments.callee就是函数体本身,arguments.callee.caller就是函数体的调用函数体

简单例子如下:

不出意外,上面的例子将输出3个true,表明当a()调用时,函数b与函数a的关系。

好,弄清楚了arguments.callee与caller,我们再把原先的例子改改

我们把argument.callee.caller的函数体输出,看看到底在ie和ff下有何区别.

可以看到ie下输出为

ff下输出为

由此看出在html控件中直接注册事件在ie/ff下表现的不同, ie下定义了一个匿名函数,内部再执行用户定制的函数(myFunc),而ff下则有所

不同,首先ff下定义了一个与节点事件同名的函数,这里是onclick事件,所以是function onclick,然后event作为一个参数传入,内部再执行myFunc.

所以当事件触发时,在myFunc里,argument.callee.caller就是指向function onclick,当然,argument.callee.caller.arguments[0]即为event了.

推荐阅读

  • 健康码换了手机号怎么办

    健康码换了手机号怎么办

    健康码换了手机号,可以进行修改,在微信中进行修改即可,也可以在支付宝中进行重新填写。具体操作方法如下: 健康码换了手机号怎么办 一、微信修改健康码手机号 1、打开手机微信app,点击我”,...

    阅读: 663

  • 美团怎么预约订餐到店吃

    美团怎么预约订餐到店吃

    美团预约订餐,然后到店吃,需要在美团进行抢购订餐,最后去店面出示订单凭证即可。具体操作方法如下: 美团怎么预约订餐到店吃 1、打开手机美团app,点击美食”。 2、选择需要订餐的店家,点...

    阅读: 792

  • 如何制作自己的卡通头像

    如何制作自己的卡通头像

    制作自己的卡通头像,可以通过美图秀秀进行,借助美图秀秀的动漫化身功能即可生成卡通形象。具体操作方法如下: 如何制作自己的卡通头像 一、使用美图秀秀 1、打开手机美图秀秀app,点击工具箱”...

    阅读: 704

  • 不小心退出微信账号怎么登录

    不小心退出微信账号怎么登录

    不小心退出微信账号的话,只要记得密码或者微信绑定手机号,就可以重新进行登录。具体的操作方式如下: 不小心退出微信账号怎么登录 1、打开微信app,进入登录”界面。 2、进入登陆&rdqu...

    阅读: 752

  • 抖音怎么看谁取消关注了我了

    抖音怎么看谁取消关注了我了

    抖音不能直接看谁取消关注你,但如果对方曾经与你是互相关注的话,就可以查看对方是否把你取关了。具体的操作方式如下: 抖音怎么看谁取消关注了我了 1、打开抖音,点击进入我”的界面。 2、进入...

    阅读: 1121

  • 苹果实况照片怎么弄到抖音上

    苹果实况照片怎么弄到抖音上

    实况照片是iPhone手机上的一种拍照模式,可以让拍的照片动起来。将苹果实况照片弄到抖音上的具体操作方式如下: 苹果实况照片怎么弄到抖音上 1、打开抖音,点击界面中间的+”号, 进入拍摄界...

    阅读: 805