我需要在自定义网格上捕获paste事件,但是在IE11中,Ctrl +V paste事件只适用于输入字段。我需要它在一个组件上工作,并通过窗口访问它。在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);
}
发布于 2018-06-05 05:31:55
为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);
}
}
});
https://stackoverflow.com/questions/50684358
复制相似问题