У меня есть кнопка на моей странице с идентификатором = «viewQuestions» на странице:
<body ng-keydown="key($event);">
Мой код проверки ключевых хитов, как это:
$scope.key = function ($event) {
$scope.$broadcast('key', $event.keyCode)
}
и в контроллере:
$scope.$on('key', function (e, key) {
if (key == 13) {
if (ts.test.current && ts.test.userTestId) {
document.getElementById("viewQuestions").click();
}
}
});
Когда я запускаю этот код и нажмите ENTER, то я получаю эту ошибку:
Error: [$rootScope:inprog] $apply already in progress
http://errors.angularjs.org/1.3.7/$rootScope/inprog?p0=%24apply
at REGEX_STRING_REGEXP (http://localhost:2757/lib/angular/angular.js:63:12)
at beginPhase (http://localhost:2757/lib/angular/angular.js:14735:15)
at Scope.$get.Scope.$apply (http://localhost:2757/lib/angular/angular.js:14479:11)
at HTMLButtonElement.<anonymous> (http://localhost:2757/lib/angular/angular.js:22945:23)
at HTMLButtonElement.eventHandler (http://localhost:2757/lib/angular/angular.js:3009:21)
at http://localhost:2757/app/tests/controllers/TestsController.js:24:62
at Scope.$get.Scope.$broadcast (http://localhost:2757/lib/angular/angular.js:14700:28)
at Scope.AppController.$scope.key (http://localhost:2757/app/appController.js:30:20)
at $parseFunctionCall (http://localhost:2757/lib/angular/angular.js:12330:18)
at ngEventDirectives.(anonymous function).compile.element.on.callback (http://localhost:2757/lib/angular/angular.js:22940:17)
Может ли кто-нибудь дать мне совет по этому вопросу. Я просто хочу имитировать нажатие кнопки при нажатии клавиши ENTER. Я пробовал решения с формами, но это не соответствует моим довольно сложным потребностям.
Попробуйте это, <класс = кнопка "БТН" ID = "ABC" нг-клик = "FunctionName()"> Пример и определить эту функцию на угловой рамки как $ объема. functionName = function() {} – mbaljeetsingh
Извините, но я хочу, чтобы пользователь мог видеть кнопку, измененную на состояние щелчка и обратно. Решение Ashad делает это, но оно не работает, когда щелчок кнопки инициируется другим событием, таким как нажатие клавиши. – Alan2