我有它在Safari上运行良好,现在和并不总是在铬工作:
app.controller(.... function($window){
$window.focus();
$window.onfocus = function(){
$scope.inFocus = true;
};
$window.onblur = function(){
console.log("onblur");
$scope.inFocus = false;
};
});
的的console.log并不总是触发。我在想,如果这是一个错误或我做错了什么?
更新:我尝试了@Gabe给出的解决方案。它仍然有时会崩溃,我想知道是否有其他行动干扰它。它确实看起来是随机的,但...
更新2:我仍然不知道它如何被卡住了,但我知道如何得到它粘住:
- 我在窗口中点击一个输入集中它。
- 我在输入之外单击以忽略焦点。
- 我切换标签并返回。它再次工作。使用API为
angular.element
的[onblur事件不与谷歌浏览工作]可能重复(http://stackoverflow.com/questions/2407679/onblur -event-not-working-with-google-chrome) –
@JonathanRowny你的链接表示支持。除此之外,它在铬合金中“有时”起作用。不知道什么打破了。 –
控制器在哪里?我想如果这是在特定的路线上,事件可能会被清理干净。 –