我的Web应用程序使用keyup事件处理程序来捕获Escape键按下并相应地对它们做出反应。一个表单有一个文件输入,当用户按下escape以关闭按下Browse按钮后出现的模态时,我的keyup事件处理程序被触发并注册Escape被按下。知道怎么预防吗?我以为我可以在输入中捕获Escape,但似乎keyup从未在input元素本身中被触发,所以我无法阻止事件冒泡。另一个想法是在用户单击“浏览”按钮后立即禁用我的事件处理程序,但我无法可靠地重新启用它,因为并不总是在所有浏览器中触发onchange事件。
答案 0 :(得分:0)
您应该使用<form [ngFormModel]="residenceForm"
(ngSubmit)="onSubmit(residenceForm.value)" #apartmentRentalForm="ngForm">
<md-input-container class="md-block" flex-gt-sm="25">
<label for="country">COUNTRY</label>
<select ngControl='country'>
<option *ngFor="#countryItem of countries">
{{countryItem.name}}
</option>
</select>
</md-input-container>
<br/> Selected: {{residenceForm.value | json}}
</form>
事件而不是keypress
事件。 “向上”表示释放密钥时,这很少是您想要的。要知道有人输入了密钥,keyup
会更好。