use*_*686 7 events internet-explorer-11 angular
我的Angular指令之一中包含以下代码:
@HostListener('paste', ['$event'])
onPaste($event: ClipboardEvent) {
setTimeout(() => {
const input = (<HTMLInputElement>$event.target);
input.value = input.value.replace(/\D/g, '');
});
}
Run Code Online (Sandbox Code Playgroud)
它在IE11中失败,并显示错误消息ClipboardEvent is undefined。幸运的是,我可以将其键入到just Event,但是我想知道为什么它会中断-我可以在angular-cli.json中添加任何可使其使用的库ClipboardEvent吗?
"lib": [
"es2017",
"dom"
],
Run Code Online (Sandbox Code Playgroud)
“ dom”是Event从哪里来的...
小智 2
像这样使用
@HostListener('paste', ['$event'])
onPaste($event) {
var clipboardData;
if (window['clipboardData']) { // IE
clipboardData = window['clipboardData'];
} else if ($event.originalEvent.clipboardData && $event.originalEvent.clipboardData.getData) { // other browsers
clipboardData = $event.originalEvent.clipboardData; }
}}
Run Code Online (Sandbox Code Playgroud)
剪贴板事件仍处于实验技术阶段。这会起作用。
| 归档时间: |
|
| 查看次数: |
864 次 |
| 最近记录: |