Neel
Neel

Reputation: 21243

Unexpected end of expression ng-keypress event in angularjs

I am using ng-keypress directive to check ENTER key pressed or not.

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

...
...

But when I open page in chrome, it gives error

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">

If I remove ng-keypress or put ""(Empty string) in expression, its working fine.

Upvotes: 0

Views: 487

Answers (1)

Phil
Phil

Reputation: 164766

If you only want to trigger your function on the proviso that the Enter key was pressed, simply use the following

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

Plunker - [email protected]

Upvotes: 1

Related Questions