我的角度指令中有以下代码:
@HostListener('paste', ['$event'])
onPaste($event: ClipboardEvent) {
setTimeout(() => {
const input = (<HTMLInputElement>$event.target);
input.value = input.value.replace(/\D/g, '');
});
}
它在ie11中失败了,错误是
ClipboardEvent is undefined
。幸运的是我可以把它打到
Event
,但我想知道它为什么会坏-我是否可以在angular-cli.json中添加任何lib以使其与
ClipboardEvent
一起工作?"lib": [
"es2017",
"dom"
],
“dom”是
Event
的来源… 最佳答案
像这样使用
@HostListener('paste', ['$event'])
onPaste($event) {
var clipboardData;
if (window['clipboardData']) { // IE
clipboardData = window['clipboardData'];
} else if (e.originalEvent.clipboardData && e.originalEvent.clipboardData.getData) { // other browsers
clipboardData = e.originalEvent.clipboardData; }
}}
剪贴板事件仍在实验技术中。这会奏效的。