javascript 获取event
先从一个简单的例子说起,一个简单的button控件如下:
<input type='button' name='mybtn' id='mybtn' onclick='myFunc()'/>
然后为其注册事件,这样的情况,怎么在javascript里获取event呢,特别是firefox的情况。请看:
<script type='text/javascript'> function myFunc(){ var ev = window.event || arguments.callee.caller.arguments[0] ,et = ev.srcElement || ev.target; alert(et.tagName); } </script>
不出意外的话,在ie/ff下,上面例子都将输出INPUT,即是触发click事件节点的标签名,ie的event获取这里就不说了,重点说说ff下的情况。
这里的arguments.callee.caller.arguments[0]看起来又长又怪,为什么在firefox的情况下,这个东西就是event呢?
首先得了解arguments.callee是什么东西,caller又是什么样的属性?
argments.callee就是函数体本身,arguments.callee.caller就是函数体的调用函数体
简单例子如下:
<script type='text/javascript'> function a(){ b(); } function b(){ alert(b === arguments.callee) alert(b.caller === a) alert(arguments.callee.caller === a) } a(); </script>
不出意外,上面的例子将输出3个true,表明当a()调用时,函数b与函数a的关系。
好,弄清楚了arguments.callee与caller,我们再把原先的例子改改
<script type='text/javascript'> function myFunc(){ alert(arguments.callee.caller.toString()) var ev = window.event || arguments.callee.caller.arguments[0] ,et = ev.srcElement || ev.target; } </script>
我们把argument.callee.caller的函数体输出,看看到底在ie和ff下有何区别.
可以看到ie下输出为
function anonymous(){ myFunc() }
ff下输出为
function onclick(event){ myFunc(); }
由此看出在html控件中直接注册事件在ie/ff下表现的不同, ie下定义了一个匿名函数,内部再执行用户定制的函数(myFunc),而ff下则有所
不同,首先ff下定义了一个与节点事件同名的函数,这里是onclick事件,所以是function onclick,然后event作为一个参数传入,内部再执行myFunc.
所以当事件触发时,在myFunc里,argument.callee.caller就是指向function onclick,当然,argument.callee.caller.arguments[0]即为event了.
以上这篇火狐和ie下获取javascript 获取event的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 纯音入心系列纯音乐《天籁古筝》1CD[MP3][331MB]
- 男女对唱典藏天碟《发烧对唱·那个季节里的歌DSD》10CD[WAV]
- 群星2010-歌林精选辑[歌林][WAV+CUE]
- TrioZimbalist-PianoTriosofWeinberg,Auerbach,Dvorak(2024)[24-44,1]wav
- 群星.1992-滚石第一流台湾歌·12王牌大车拼【滚石】【WAV+CUE】
- 林子祥.1984-创作歌集【华纳】【WAV+CUE】
- 周汤豪.2010-周汤豪【华纳】【FLAC分轨】
- Mozart-TheStringQuintets-AmadeusQuartet,CecilAronowitz(2017)[24-44,1][WAV+CUE]
- JamesWilliamsDennisIrwin-Focus(2024,Red)[24-48]FLAC
- 藤泽麻衣《空みあげて》[WAV]
- 纯音入心系列纯音乐《中国古筝经典名曲》1CD[MP3][1.3GB]
- 纯音入心系列纯音乐《古筝新奏:岁月静好与筝语,细水流年与筝同》1CD[MP3][846.9MB]
- 670《脆弱敏感小女生》[320K/MP3][27.53MB]
- 曾琳.2011-好好爱我【南方】【WAV+CUE】
- 范晓萱.1995-RAIN【福茂】【WAV+CUE】