2016-04-24 3 views
0

Я пытаюсь сбросить две области действия, определенные ранее, в событии keyup «esc», но, по-видимому, это не работает, когда я их проверяю. $ document определяется для зависимостей моего контроллера.Невозможно установить область внутри document.bind

Вот что я пробовал:

$document.bind('keyup', function (event) { 
    if (event.keyCode == 27) { 
     $scope.currentPage = false; 
    } 
}); 

Я также попытался путь JQuery. Он также не работает:

jQuery(document).keyup(function (event) { 
    if (event.keyCode == 27) { 
     $scope.currentPage = false; 
    } 
}); 

Что мне не хватает? Что не так? Заранее спасибо!

+0

http://stackoverflow.com/questions/15424910/angularjs-access-scope-from-outside-js-function – adeneo

ответ

1

Использовать $ scope. $ Apply (function() {...}); чтобы заставить цикл углового дайджеста работать.

Ваш код будет:

$document.bind('keyup', function (event) { 
    if (event.keyCode == 27) { 
    $scope.$apply(function() { 
     $scope.currentPage = false; 
    }); 
    } 
}); 
+0

Работает как шарм, спасибо! – Guney

Смежные вопросы