Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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
Javascript 如何设置mat收音机内mat输入的焦点_Javascript_Html_Css_Angular7_Mat Input - Fatal编程技术网

Javascript 如何设置mat收音机内mat输入的焦点

Javascript 如何设置mat收音机内mat输入的焦点,javascript,html,css,angular7,mat-input,Javascript,Html,Css,Angular7,Mat Input,我试图在点击自定义单选按钮的输入框上设置焦点(光标闪烁)。但它没有发生。我有stackblitz演示 到目前为止我已经试过了 <mat-radio-group [(ngModel)]="selection" #radioGroup="matRadioGroup"> <mat-radio-button value="option 1">option 1</mat-radio-button> <mat-radio-button value="opti

我试图在点击自定义单选按钮的输入框上设置焦点(光标闪烁)。但它没有发生。我有stackblitz演示

到目前为止我已经试过了

<mat-radio-group [(ngModel)]="selection" #radioGroup="matRadioGroup">
  <mat-radio-button value="option 1">option 1</mat-radio-button>
  <mat-radio-button value="option 2">option 2</mat-radio-button>
  <mat-radio-button value="option 3">option 3</mat-radio-button>
  <mat-radio-button value="option 4">option 4</mat-radio-button>
  <mat-radio-button [value]="customOption" (click)="onBlur()">
    <mat-form-field>
      <input matInput id="input" [(ngModel)]="customOption" />
    </mat-form-field>
  </mat-radio-button>
</mat-radio-group>

问题是,在选择单选按钮的操作完成之前,它会将焦点设置到输入元素,因此,一旦完成,它会立即将焦点切换到单选按钮

一个解决办法是改变

document.getElementById('input').focus()

setTimeout(()=>document.getElementById('input').focus())


因此,在将焦点设置到输入元素之前,它会等待片刻。

问题在于,在选择单选按钮的操作完成之前,它会将焦点设置到输入元素。因此,一旦选择单选按钮完成,它会立即将焦点切换到单选按钮

一个解决办法是改变

document.getElementById('input').focus()

setTimeout(()=>document.getElementById('input').focus())


使其在设置输入元素的焦点之前等待片刻。

到目前为止您尝试了什么?请显示您认为应该有效的代码。我已经用我的测试更新了问题。到目前为止,您尝试了什么?请出示你们认为应该有效的代码。我已经用试用版更新了这个问题
onBlur() {
      document.getElementById('input').focus();
   }