0

我正在使用 Javascript 来检测用户在 UI 上的粘贴操作。例如,我需要检测 ctrl+V 和 Shift+insert 组合键。

根据此链接提供的信息,v 键为 86,插入键为 45。
http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes

我的代码在 Firefox 中正常工作,但在 IE 中不能正常工作。在 Firefox 中正确返回了键码。

在 IE 中,当我按下 Ctrl+V 时,返回的 keycode 为 17,返回的 charCode 为 0。

在 IE 中,当我按下 Shift+Insert 时,返回的 keycode 是 16,返回的 charCode 是 58。

这是一个IE错误吗?为什么在运行相同的代码时,IE 和 FF 返回的 keycode 和 charCode 不同?

非常感谢!

4

1 回答 1

0

IE 中似乎不支持剪贴板 API:https ://developer.microsoft.com/en-us/microsoft-edge/platform/status/clipboardapi/

首先paste事件不起作用,你应该使用beforepaste. ClipboardEvent不存在,DragEvent而是使用它来让您clipboardData从不window从事件对象访问它。

但即便如此,在 JavaScript 中访问复制到剪贴板的文件/图像似乎也不起作用。

于 2019-04-23T10:58:46.170 回答