Prototype事件将事件对象复制到FireFox的window.event

时间:2013-09-04 19:44:32

标签: javascript events firefox prototype

有没有办法,使用原型或其他方法,让事件自己复制到全球空间(window.event)?

我的问题是我正在使用一个远程脚本,它不会将事件对象传递给我的回调。 Chrome和IE总是可以访问event和事件window.event,但除非明确传递(并设置),否则FireFox都没有,所以我想知道是否有办法将事件对象原型化为自身复制到全球空间。

2 个答案:

答案 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.eventevent对象的任何其他全局变量。无论如何,这都应该有效。