Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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
Keydown事件在Angular中的选项上不起作用_Angular_Angular Forms - Fatal编程技术网

Keydown事件在Angular中的选项上不起作用

Keydown事件在Angular中的选项上不起作用,angular,angular-forms,Angular,Angular Forms,我有以下代码,需要在用户按下enter键从选项中进行选择时触发一个函数 如果我使用(click)event,一切都会按预期工作,但是这只会在单击时执行函数,这对用户体验来说不是很好 <form (ngSubmit)="onCreatePost(formData.value)" #formData="ngForm" autocomplete="off" class="form"> <selec

我有以下代码,需要在用户按下enter键从选项中进行选择时触发一个函数

如果我使用(click)event,一切都会按预期工作,但是这只会在单击时执行函数,这对用户体验来说不是很好

<form (ngSubmit)="onCreatePost(formData.value)" #formData="ngForm" autocomplete="off" class="form">
    <select name="name" ngModel>
        <option value="" disabled selected>Choose language</option>
        <option *ngFor="let language of languageList" (keydown.enter)="getLanguageCode(language.code)">{{ language.name }}</option>                   
    </select>
    <input type="text" name="code" [ngModel]="langCode">
    <button type="submit" class="button-primary" [disabled]="!formData.valid"><i class="fas fa-plus-circle margin"></i>Submit</button>
</form>

选择语言
{{language.name}
提交
尝试使用
(向下键。回车)
上选择
而不是每个选项。我在表单上使用了它,效果很好。

var-app=angular.module(“myapp”,[]);
应用程序指令('myEnter',函数(){
返回函数(范围、元素、属性){
元素绑定(“按键按下”,函数(事件){
if(event.which==13){
警报(“按下回车键”);
event.preventDefault();
}
});
};
});

尝试在select元素上添加onchange事件侦听器。无论是使用鼠标还是键盘选择选项,都应触发onchange事件