2017-09-28 25 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