Javascript 从文本框中选择文本时触发函数

Javascript 从文本框中选择文本时触发函数,javascript,angular,angular8,Javascript,Angular,Angular8,我用的是角度8 我有一个文本框,它由一些文本组成。我想让用户选择文本,一旦选择结束,我想用所选文本作为参数调用函数 这是所选的文本框 现在,当反应被选中时,我想调用一个函数。有没有办法,我可以在Angular 8中这样做。假设您的文本框是HTML文本区域,您可以在模板中定义选择事件处理程序,如下所示(这里它指向组件类中的onTextSelected方法) 请看以下内容 如果您确实想用所选文本调用该方法,您可以按如下方式更改模板,同时去掉@ViewChild {{text}} 如下所示 您可以查

我用的是角度8

我有一个文本框,它由一些文本组成。我想让用户选择文本,一旦选择结束,我想用所选文本作为参数调用函数

这是所选的文本框


现在,当反应被选中时,我想调用一个函数。有没有办法,我可以在Angular 8中这样做。

假设您的
文本框是
HTML文本区域
,您可以在模板中定义
选择事件处理程序,如下所示(这里它指向组件类中的
onTextSelected
方法)

请看以下内容

如果您确实想用所选文本调用该方法,您可以按如下方式更改模板,同时去掉
@ViewChild

{{text}}

如下所示


您可以查看一下
getSelection
,这是一个webapi,但并不适用于任何地方(对于输入和文本区域,您应该使用
setSelectionRange
),非常感谢@uminder,它正是我想要的工作方式。很高兴我能帮助您。
<textarea #textbox (select)="onTextSelected()">{{ text }}</textarea>
@ViewChild('textbox', { static: false}) textAreaRef: ElementRef<HTMLTextAreaElement>;

onTextSelected(): void {
  const textArea = this.textAreaRef.nativeElement;
  this.selectedText = textArea.value.substring(textArea.selectionStart, textArea.selectionEnd);
}