javascript - Renderer2 粘贴事件未在 IE11 中触发
问题描述
我正在使用 IE11 和 Angular 4,试图收听粘贴事件。当用户选择 Ctrl + V 时,我想尝试将文本放入文本区域,但监听事件永远不会触发。
我的html:
<textarea #textArea>{{text}}</textarea>
我的打字稿:
public text: string = '';
@ViewChild('textArea', { read: ElementRef }) testElement: ElementRef;
ngAfterViewInit() {
this.isIEOrEdge = /msie\s|trident\/|edge\//i.test(window.navigator.userAgent);
if (this.isIEOrEdge) {
console.log('Element' , this.testElement.nativeElement);
this.renderer.listen(this.testElement.nativeElement, 'paste', () => {
console.log('pasting');
this.InsertNewRowsBeforePaste.bind(this);
});
}
}
InsertNewRowsBeforePaste(event) {
// gets data from clipboard and converts it to an array (1 array element for each line)
let clipboardData = event.clipboardData || event.originalEvent['clipboardData'].getData('text');
if (!clipboardData) {
clipboardData = window['clipboardData'].getData('Text');
}
this.text = clipboardData;
}
解决方案
推荐阅读
- java - Netty 请求超时
- javascript - Javascript - 获取数组中最大数组总和的最佳方法
- javascript - Firefox 控制台显示错误消息,安装 PHP7 后出现 Javascript 错误
- cakephp - 我想在 cakephp 2.8 中创建多个前缀
- android - 可以用一根或两根手指旋转和缩放的自定义图像视图
- android - Android 将热图连接到当前位置
- go - 取消用户特定的 goroutine
- windows - 错误vue:vue:找不到命令
- angular - 使用数据绑定后,下拉菜单中的字体(下拉菜单的值)不可见
- android - 是否可以为应用程序中的所有 ImageView 设置样式背景