Angularjs:用户点击回车时的Onchange事件

Posted

技术标签:

【中文标题】Angularjs:用户点击回车时的Onchange事件【英文标题】:Angularjs: Onchange event when the user hits enter 【发布时间】:2014-04-02 09:56:44 【问题描述】:

我有一个 html 表格,其中一列是可编辑的

<td ng-model="my.grade">
   <div contenteditable>
  list.grade
   </div>
</td>

我有一个角度函数getInformation,它会进行一些计算并连接到后端,然后 做桌子。我的目标是,当用户更改上列的值并按回车键时,我想更新表并基本上重新运行函数getInformation。 我读到我应该ng-modelng-change 但我应该如何更新输入时的表值?

【问题讨论】:

【参考方案1】:

你可以这样做:

<td ng-model="row.grade" 
    contenteditable ng-keypress='keyPressed($event)'></td>

所以,ng-modelcontenteditable 必须在同一个元素上。 此外,如果您在元素上指定ng-model,则其所有内容将被模型中的值替换。所以它应该是空的。

$scope.keyPressed = function (e)
    var code = (e.keyCode ? e.keyCode : e.which);

    if(code == 13)  // 'Enter' keycode
      $scope.getInformation(); // your function here or some other code
      e.preventDefault();
    

Plunkr 正在运行: http://plnkr.co/edit/sHHlqF

你为什么使用contenteditable?也许您可以只使用&lt;input ng-model...&gt;

【讨论】:

以上是关于Angularjs:用户点击回车时的Onchange事件的主要内容,如果未能解决你的问题,请参考以下文章

提交时的表单验证 - angularjs 1.5 - 当字段 $pristine 时 $invalid

AngularJs - 限制“登录”用户访问的最佳方式

angularjs之手机输入法回车变搜索,并触发事件,兼容pc回车事件

ajaxFileUpload onchang第二次失效

jQueryUI 自动完成返回 AJAX 错误 0 当用户点击回车

BookYourSeat:使用 AngularJS 点击时自动选择座位 [GIF]