angularjs中表达式意外结束ng-keypress事件

时间:2015-07-03 06:54:00

标签: javascript angularjs

我正在使用ng-keypress指令检查是否按下ENTER键。

...
...
<input type="text" ng-model="mymodal"
    ng-keypress="($event.charCode==13)?myFunction():return"/>

...
...

但是当我用chrome打开页面时,它会出错

Error: [$parse:ueoe] Unexpected end of expression: ($event
http://errors.angularjs.org/1.3.4/$parse/ueoe?p0=(%24event
    at REGEX_STRING_REGEXP (http://localhost:9000/bower_components/angular/angular.js:63:12)
    at Parser.consume (http://localhost:9000/bower_components/angular/angular.js:11935:13)
    at Parser.primary (http://localhost:9000/bower_components/angular/angular.js:11866:12)
    at Parser.unary (http://localhost:9000/bower_components/angular/angular.js:12158:19)
    at Parser.multiplicative (http://localhost:9000/bower_components/angular/angular.js:12141:21)
    at Parser.additive (http://localhost:9000/bower_components/angular/angular.js:12132:21)
    at Parser.relational (http://localhost:9000/bower_components/angular/angular.js:12123:21)
    at Parser.equality (http://localhost:9000/bower_components/angular/angular.js:12114:21)
    at Parser.logicalAND (http://localhost:9000/bower_components/angular/angular.js:12105:21)
    at Parser.logicalOR (http://localhost:9000/bower_components/angular/angular.js:12096:21) 
<input type="text" ng-model="mymodal" ng-keypress="($event.charCode==13)?myFunction():return" class="ng-pristine ng-untouched ng-valid">

如果我在表达式中删除ng-keypress或放置""(空字符串),则其工作正常。

1 个答案:

答案 0 :(得分:1)

如果您只想在按下 Enter 键的条件下触发您的功能,只需使用以下

ng-keypress="$event.charCode === 13 && myFunction()"

Plunker - Angular@1.3.4