我希望在输入框中按下Enter键时触发按钮的点击事件,但是我发现在AngularJS中实现这一点很困难。
我的视图(简化、更新)如下:
我的视图(简化、更新)如下:
<!doctype html>
<html lang="en" ng:app="test">
<head>
<meta charset="utf-8" />
<title>Test</title>
<link rel="stylesheet" href="css/app.css" />
</head>
<body ng-controller="TestController">
<button ng-click="onButton1Click()" class="btn1">Click Me</button>
<button ng-click="onButton2Click()" class="btn2">Don't click me</button>
<script src="lib/jquery/jquery.js"></script>
<script src="lib/angular/angular.js"></script>
<script src="js/testcontroller.js"></script>
</body>
</html>
这个视图的控制器:
'use strict';
angular.module('test', [])
.controller('TestController', ['$scope',
function($scope) {
$scope.onButton1Click = function() {
alert("Hello");
}
$scope.onButton2Click = function() {
$('.btn2').click();
}
}])
我将所有代码简化到了这个程度。当我点击btn2时,会出现以下错误:
$apply 已在进程中
不能直接调用$scope.onButton1Click()
,必须模拟btn1的点击。