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示例,它适用于我的项目。希望它能帮助别人。逻辑同样适用于其他情况
您是否尝试将[(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) {
...
}