Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.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 角度-粘贴事件获取内容_Javascript_Angular - Fatal编程技术网

Javascript 角度-粘贴事件获取内容

Javascript 角度-粘贴事件获取内容,javascript,angular,Javascript,Angular,我有一个角度组件,允许用户将数据输入textarea。有两个事件与此keydown和paste关联。这两个事件触发相同的方法,该方法将尝试并确定输入的数据 我遇到的问题是,当粘贴数据时,我得到的是formControl的值,但它是粘贴数据之前的值,不包括我在字段中实际输入的内容 HTML <textarea formControlName="multiSearch" class="form-control" placeholder="Enter one or more v

我有一个角度组件,允许用户将数据输入
textarea
。有两个事件与此
keydown
paste
关联。这两个事件触发相同的方法,该方法将尝试并确定输入的数据

我遇到的问题是,当粘贴数据时,我得到的是
formControl
的值,但它是粘贴数据之前的值,不包括我在字段中实际输入的内容

HTML

<textarea 
  formControlName="multiSearch" 
  class="form-control" 
  placeholder="Enter one or more values. One per line." 
  rows="6" 
  (keydown)="keyDownFunction($event)"
  (paste)="onPaste()">
</textarea>
问题
如何在触发
粘贴
事件时访问粘贴到表单中的数据,而不是粘贴前的值?

通过处理
输入
事件,可以从
粘贴
事件和
文本区域
的更新内容中获取粘贴的内容:

<textarea #myText (paste)="onPaste($event)" (input)="onInput(myText.value)"></textarea>

请参阅演示。

这是一个angular2 typescript示例,它适用于我的项目。希望它能帮助别人。逻辑同样适用于其他情况

  • angular-clipboard-event.html
  • 
    
    您是否尝试将
    [(ngModel)]
    用作文本区域元素中的属性。iexplorer 11Thank@Sandeep中不支持ClipboardEvent,请不要使用Ctrl+V进行粘贴,是否有任何方法或代码可从UI处理?
    <textarea #myText (paste)="onPaste($event)" (input)="onInput(myText.value)"></textarea>
    
    onPaste(event: ClipboardEvent) {
      let clipboardData = event.clipboardData || window.clipboardData;
      let pastedText = clipboardData.getData('text');
      ...
    }
    
    onInput(content: string) {
      ...
    }