Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS模型中未激发Escape键_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS模型中未激发Escape键

Javascript AngularJS模型中未激发Escape键,javascript,angularjs,Javascript,Angularjs,我想在用户按esc键时打开后视图 如下所述: 但是当我按下ESC键时,keydown(或keyup)函数从未调用过 $scope.cancel = function (e) { if (e.keyCode == 27) { $scope.userForm.userName.$rollbackViewValue(); } <input type="text" name="userName" ng-model="name"

我想在用户按esc键时打开后视图

如下所述:

但是当我按下ESC键时,keydown(或keyup)函数从未调用过

  $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>
$scope.cancel=函数(e){
如果(e.keyCode==27){
$scope.userForm.userName.$rollbackViewValue();
}
完整示例:


我已经测试过了,发现这是我的一个扩展的bug,我用Incognito测试过,没有任何扩展,效果很好


如果其他人有相同的问题,请检查它,不带扩展。

您是否使用名称属性为
name=“userForm”
form
元素包装您的输入?由于angular正在等待模糊事件,因此在您关闭字段时将执行操作,如您提供的示例所示:这告诉Angular,它不应在每次击键后立即更新模型,而应仅在输入触发onBlur事件时更新