在html表单中,当您使用tab继续下一个输入时,默认选择所有内容,如何取消选择它?
问问题
402 次
3 回答
3
只需target.selectionEnd
在焦点事件上设置为 0
<input (focus)="unselectOnFocus($event)">
unselectOnFocus(event: Event): void {
event.target.selectionEnd = 0;
}
于 2020-07-03T10:07:24.907 回答
2
设置#myInput并绑定焦点事件
<input #myInput (focus)="onFocus()">
@ViewChild('myInput') myInput: ElementRef<HTMLInputElement>;
和
onFocus() {
setTimeout(() => {
this.myInput.nativeElement.setSelectionRange(0,0);
}, 0)
}
超时是必需的,因为当您使用 tab 键选择输入时,文本会在焦点事件之后立即自动选择。
于 2020-07-03T09:52:00.767 回答
0
要将元素设置为不可选择,您可以tabindex = -1
在输入元素中使用属性,如下所示 -
<input tabindex='-1'>
负值(通常是 tabindex="-1")表示该元素无法通过顺序键盘导航访问,但可以通过 Javascript 或通过鼠标单击在视觉上获得焦点。
您可以在此处查看有关此的更多信息- tabindex MDN 指南
希望这会帮助你。
于 2020-07-03T09:49:42.253 回答