Angular 角度2:按enter键触发一个方法,而我不';我不知道如何阻止它
我已经写了一个表单,绑定到一个角度为2的组件。当我在任何文本输入中按enter键时,它会启动一个绑定到按钮(单击)事件的方法 这是我按下enter键的文本字段:Angular 角度2:按enter键触发一个方法,而我不';我不知道如何阻止它,angular,events,keypress,Angular,Events,Keypress,我已经写了一个表单,绑定到一个角度为2的组件。当我在任何文本输入中按enter键时,它会启动一个绑定到按钮(单击)事件的方法 这是我按下enter键的文本字段: <input type="text" class="form-control" name="name" [ngModel]="tutorial.name" #name="ngModel" required> 这是触发的按钮单击方法: <button class="btn btn-success button-ri
<input type="text" class="form-control" name="name" [ngModel]="tutorial.name" #name="ngModel" required>
这是触发的按钮单击方法:
<button class="btn btn-success button-right" (click)="addEasy('')">+</button>
+
该按钮调用“addEasy()”方法。此方法将新的空元素推送到数组中。该数组绑定到*ngfor。因此,每当我按下第一个文本输入字段中的enter按钮时,我的*ngFor中就会出现另一个空行
我真的不知道如何解决这个问题。谢谢你的帮助 要防止表单在enter时提交,请在您的
标记中添加以下内容:
<form (keydown.enter)="$event.preventDefault()"
您可以在按钮中添加type=“button”
。使用此选项,您仍然可以使用enter提交表单。使用了另一种解决方法,但我稍后将尝试此方法。谢谢。:)ChristianGehn你能像@Faisal那样在这里分享你的工作方法吗?这让我发疯了,谢谢!我不明白Angular为什么这么做。我在被调用的按钮之前添加了另一个按钮,新按钮的点击事件现在被触发。默认情况下,它会将任何元素上定义的第一个事件视为表单的提交方法?这是怎么回事lol。我刚刚发现,每当我在任何字段上按enter键时,我的表单(没有提交按钮)的第一个按钮(单击)处理程序也会被触发。老实说,我认为这应该作为Angular的GitHub上的一个bug提出来。