1 分钟
266 字
一、绑定键盘事件
(尤其注意:不能用a标签,不然会失效)
推荐button
方法一:ng内置指令
1
2
3
| <button ng-click="login()" ng-keypress="todoSomething($event)" class="btn btn-success btn-lg" ng-disabled="loginForm.$invalid">
登录
</button>
|
说明:在对应的控制器中的$scope上绑定一个todoSomething方法
1
2
3
4
5
| $scope.todoSomething=function($event){
if($event.keyCode==13){//回车
login();
}
}
|
方法二:自定义指令
html
1
2
3
| <button ng-click="login()" ng-enter="login()" class="btn btn-success btn-lg" ng-disabled="loginForm.$invalid">
登录
</button>
|
指令
1
2
3
4
5
6
7
8
9
10
11
12
| myApp.directive('ngEnter', function () {
return function (scope, element, attrs) {
element.bind("keydown keypress", function (event) {
if (event.which === 13) {
scope.$apply(function () {
scope.$eval(attrs.ngEnter);
});
event.preventDefault();
}
});
};
});
|
二、总结
两种方法都能实现敲回车登录的功能,不过推荐指令的方式,对$scope的污染比较低
参考文档:angularjs学习笔记—事件指令
除特殊声明外,本博客一律使用以下协议进行授权 「
署名 - 非商业性使用 - 禁止演绎 4.0
」
下一篇