有没有办法,使用原型或其他方法,让事件自己复制到全球空间(window.event
)?
我的问题是我正在使用一个远程脚本,它不会将事件对象传递给我的回调。 Chrome和IE总是可以访问event
和事件window.event
,但除非明确传递(并设置),否则FireFox都没有,所以我想知道是否有办法将事件对象原型化为自身复制到全球空间。
答案 0 :(得分:1)
您可以通过执行以下操作直接将事件侦听器附加到窗口对象:
window.addEventListener('click', function (e) {
// here's where something useful happens...
alert(e);
}, false);
有关事件冒泡的信息,请参阅此帖。 What is event bubbling and capturing?希望有所帮助。
安迪
答案 1 :(得分:0)
在我的特定情况下,以下行正确获取FireFox中的event
对象:
var event = event || window.event || arguments.callee.caller.arguments[0];
我去挖掘并在那里找到了它。对于处于相似情况且不起作用的任何人,请查看整个arguments.callee.caller.arguments
数组,如果不存在,请参阅Andy的答案,您可以在其中设置window.event
或event
对象的任何其他全局变量。无论如何,这都应该有效。