我正在觀察鍵盤事件,特別是左,右和esc。角度擊鍵觀察器沒有正確更新範圍
每一個都綁定到一個函數,該函數在頁面的控制器中執行一些範圍函數。
這些函數在按下按鍵時會被調用,但是應該在這些函數中更新的範圍變量似乎沒有任何作用。
是否有範圍問題?這是否是我將這些輸入事件綁定到body
的問題?
angular.element(document.body).bind('keydown keypress', function (event)
{
if(event.which === 27) // 27 = esc key
{
$scope.toggleSize();
// $scope.$apply(function() {
// $scope.fullscreen = !$scope.fullscreen;
// });
console.log('scope', $scope.fullscreen);
event.preventDefault();
} else if(event.which === 37) {
console.log('next');
$scope.goToNextSection('currentSection', $scope.slides);
} else if(event.which === 39) {
console.log('prev');
$scope.goToPreviousSection('currentSection', $scope.slides);
}
});
你有沒有試過調用'$ apply()'? –