【问题标题】:IE 11 Paste only works on Input FieldsIE 11 Paste 仅适用于输入字段
【发布时间】:2018-06-05 05:31:54
【问题描述】:

我需要在自定义网格上捕获粘贴事件,但是在 IE11 中,Ctrl + V 粘贴事件仅适用于输入字段。我需要它在组件上工作并通过 Window 访问它。在 Chrome 中它可以完美运行。

 public ngOnInit() {
   window.addEventListener('paste', myCustomEvent.bind(this));
}

在 Chrome 中,当用户在屏幕上的任意位置单击 Ctrl+V 时会触发

myCustomEvent(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');
    console.log('event' , event);
    console.log(clipboardData);
}

【问题讨论】:

标签: angular typescript internet-explorer-11 copy-paste


【解决方案1】:

为 keydown 创建一个监听事件。当用户按下 Ctrl+V 时,它将触发您的事件。从那里您可以访问 clipBoardData。不要忘记将 Renderer2 导入到您的构造函数中

this.global = this.renderer.listen('document', 'keydown', (event) => {
        if (event.ctrlKey === true && event.key === 'v') {
          const clipboardData = window['clipboardData'].getData('Text');
          if (clipboardData) {
            this.ProcessBeforePaste(clipboardData);
          }
        }
      });

【讨论】:

    猜你喜欢
    • 2014-03-25
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2016-09-15
    • 1970-01-01
    • 2012-10-11
    • 2014-07-07
    相关资源
    最近更新 更多