进入我发现this question当有人按下 “Enter” 键提交表单非常有用:模糊的按键输入字段上角
的Javascript:
angular.module('yourModuleName').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': event});
});
event.preventDefault();
}
});
};
});
HTML:
<div ng-app="" ng-controller="MainCtrl">
<input type="text" ng-enter="doSomething()">
</div>
我想知道的是当按下“回车”键时将字段设置为模糊。 doSomething()
看起来会模糊发件人字段?
我想离开ngEnter
指令,因为我想重新使用它来执行其他功能。
更新: 我知道我可以创造出一个指令只是模糊(这就是我有现在),但我想要做的是能够做这样的事情:
<input type="text" ng-enter="this.blur()">
或者我如何传递当前元素作为参数?
<input type="text" ng-enter="doBlur(this)">
[角JS触发blur事件](HTTP的可能重复:// stackoverflow.com/questions/23300329/angular-js-trigger-blur-event) – SoluableNonagon 2014-12-01 18:58:26
另外,http://stackoverflow.com/questions/18389527/angularjs-submit-on-blur-and-blur-on-keypress – SoluableNonagon 2014-12-01 18:58:56
@ SoluableNonagon我更新了我的问题,我知道我可以制作一个自定义指令来模糊,但我想保留指令的通用性 – coopersita 2014-12-01 19:49:34