2015-09-17 64 views
-1

我想在用戶按esc鍵時顯示doroolbackView。Escape鍵未在AngularJS模型中觸發

如下所述:http://blog.thoughtram.io/angularjs/2014/10/19/exploring-angular-1.3-ng-model-options.html

但該keydown(或KEYUP)功能從來沒有所謂的,當我按ESC

$scope.cancel = function (e) { 
    if (e.keyCode == 27) { 
     $scope.userForm.userName.$rollbackViewValue(); 
    } 


<input type="text" name="userName" 
       ng-model="name" 
       ng-model-options="{ updateOn: 'blur' }" 
       ng-keyup="cancel($event)" /> 
     </form> 

完整的示例:

http://plnkr.co/edit/KQbeSE?p=preview

+1

你用'name =「userForm」'name屬性的'form'元素包裝了你的輸入嗎? –

+1

因爲角正在等待模糊事件,所以當您從字段中提取字段時,將執行以下操作:_「這會告訴Angular,每次擊鍵後不立即更新模型,只應在輸入觸發時更新onBlur事件「_ – WhiteHat

回答

1

我有測試了它,發現這是我的一個擴展,我測試過的一個錯誤它與隱身沒有任何擴展,它很好。

如果其他人有同樣的問題,請檢查它沒有擴展名。