【问题标题】:How to get the value in Angular after CTRL + V detectsCTRL + V检测后如何获取Angular中的值
【发布时间】:2022-11-04 00:15:04
【问题描述】:
<input [(ngModel)]="value" (keypress)="keyPress($event)">

@HostListener('window:keydown',['$event'])
keyPress($event: KeyboardEvent) {
    if(($event.ctrlKey || $event.metaKey) && $event.keyCode == 86){

        console.log(this.value);
    }
}

我试图检测用户何时在文本字段上使用 CTRL V。现在我想获得价值。

当我尝试 console.log() 时,它的值是空白的。如何在 CTRL V 之后获取值?

【问题讨论】:

    标签: javascript angular copy-paste keypress


    【解决方案1】:

    您可以添加功能更改或onChange

    onChangeEx(event) {
      console.log(event.value);
    }
    &lt;input [(ngModel)]="value" (change)="onChangeEx($event)" (keypress)="keyPress($event)"&gt;

    【讨论】:

    • 它不起作用。
    • onChangeEx(event) { console.log(event.target.value); }
    【解决方案2】:

    我们可以使用输入元素的 onPaste 事件

    在模板中使用粘贴事件

    <input [(ngModel)]="value" (paste)="onPaste($event)" 
    (keypress)="keyPress($event)" />
    

    在组件中,您可以在粘贴后检查结果

    onPaste(event): void {
      setTimeout(() => console.log(this.value));
    }
    

    【讨论】:

      猜你喜欢
      • 2017-07-31
      • 2011-02-23
      • 2011-02-26
      • 2014-11-10
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多