2017-09-28 27 views
0

凡是脱颖而出为什么会在Firefox打破这样的:凡是脱颖而出为什么会在Firefox打破这样

var test = ko.dataFor($(event.target).closest('blah')[0]); 

的错误信息是:

ReferenceError: event is not defined.

不发生在IE或Chrome上。

+2

Firefox没有全局事件对象,IE和Chrome都有。从发布的代码中不清楚事件是从哪里来的,也就是说这里没有事件处理程序,所以没有人可以帮助你,除非你发布了更多的代码 – adeneo

+0

以及我的问题,所以如果你想把它作为下面的答案我会标记它 – Rod

回答

1

IE原本有一个全球性的事件对象,这意味着它会提供不点名的说法

element.addEventListener('click', function() { 
    console.log(event); // would be the object in IE 
}); 

所有虽然这不是真正的标准行为,铬决定实施这一点。

然而,在Firefox中,event会在上面的代码是不确定的,和参数必须命名,如

element.addEventListener('click', function(event) { 
    console.log(event); // works everywhere,^becase it's there 
}); 

这是它应该怎么做,而不依赖于全球事件对象

+0

感谢您的洞察力,我会在7分钟内标记它! – Rod