javascript - 如何使用 ENTER(键盘上的键)在 Angularjs 表中添加新对象?

标签 javascript jquery angularjs

我有一个用 Angularjs 构建的购物 list 应用程序,它运行得很好。我可以从中添加和删除项目。但我的问题是,我想允许应用程序使用 (event.which = 13) 将新项目添加到表中,这意味着使用键盘上的“Enter”键。基本上,当用户位于输入文本字段并输入项目并按 ENTER 键后,我希望将新项目添加到我的表中。我认为我已经接近完成此任务,但通常用户需要执行以下操作:在输入字段中键入文本,然后按 ENTER 键,然后单击表外的任意位置以添加新项目,但这不是正确的添加新项目的方法。请有人帮助并让我知道我做错了什么。预先非常感谢。

代码笔:http://codepen.io/HenryGranados/pen/BjWZKP

这是我的代码:

 $("#keypresser").keypress(function(e){
    var codigo = e.which;
    var item   = document.getElementById("keypresser").value;
    if(codigo == 13){

        $scope.addNewItem(item);
        console.log("Hello");
    }

});

最佳答案

使用ngKeypress

HTML

<input ng-keypress="pressed($event,newItem)" placeholder = "Enter item here..."class="form-control" ng-model="newItem"/>

JS

  $scope.pressed = function($event,item) {
    if ($event.which === 13)
      {$scope.addNewItem(item);
      console.log("hello");}
  }

CODEPEN

N:B:不要在 Controller 中使用 jquery。这不是一个好的做法。

关于javascript - 如何使用 ENTER(键盘上的键)在 Angularjs 表中添加新对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34624700/

相关文章:

javascript - Jquery根据类搜索并显示图像

jquery - Bootstrap 轮播。隐藏第一张和最后一张幻灯片上的 'previous' 和 'next' 按钮 - 'slide' 事件不起作用

javascript - 使用defineProperty扩展,私有(private)变量放在哪里?

java - Spring Security CORS 过滤器不起作用

javascript - 将数据从主 html 页面 Controller 发送到指令 Controller

javascript - 在 Ipad 中删除对文本框的关注

javascript - 在第一次/最后一次点击时循环、显示和隐藏文本/div

javascript - 如何对 jQuery 动态文本框的项目进行编号

javascript - 响应模式下底部背景位置错误

javascript - 将javascript中的对象转换为json对象