2016-04-24 6 views
0

「esc」キーアップイベントで前に定義した2つのスコープをリセットしようとしていますが、チェックアウトしても明らかに機能しません。 $ 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(){...}); Angularダイジェストサイクルを強制的に実行します。

あなたのコードは次のようになります。

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

が作品の魅力のように、ありがとう! – Guney

関連する問題