javascript : 关于event的问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 02:54:02
都知道这样写是为了兼容不同浏览器的window.event?window.event:event 。
但是这样写ie下可行,ff下无法工作,必须写成 window.event?window.event:arguments.callee.caller.arguments[0]这样两个浏览器都可以了,但是看到好多教程都是写的window.event?window.event:event。
这是怎么回事?为什么我写的无效呢????

ff里用addEventListener为事件添加的函数就可以通过获取第一个参数取得event。
譬如<a href="#" id="test">测试</a>
document.getElementById("test").addEventListener("click",dosth,false),点击之后,运行的代码是dosth(event);
而通过on加事件写的不能直接取得event,譬如<a href="#" onclick="dosth()">测试</a>,则点击的时候,在ff下运行的代码是这样的:
function onclick(event){
dosth();
}
应此必须用arguments.callee.caller.arguments[0]才能够取得ff里面的event对象。