当Firefox中的shift键关闭时没有粘贴事件

时间:2017-10-20 17:52:18

标签: javascript html firefox paste

在Firefox中,我没有得到一个'粘贴'按住shift键时的事件。我确实在Chrome中收到此活动。如何获得'粘贴'按住Shift键的事件?

See this jsbin example 这就是我用来捕获粘贴事件的原因:

['cut', 'copy', 'paste'].forEach(function(event) {
  document.addEventListener(event, function(e) {
    alert(event);
  });
});

编辑某些上下文: 使用shift键粘贴(CTRL + SHIFT + V或CMD + SHIFT + V)是常见的#34;粘贴,无格式化"命令。在Google Docs中,此命令适用于Firefox。我认为Google Docs正在倾听"粘贴"事件,因为这是在Firefox中检索剪贴板数据的唯一方法。 Google文档如何检索"粘贴"事件?

是否可以在执行"粘贴而不进行格式化时获取剪贴板数据"键盘命令?

2 个答案:

答案 0 :(得分:1)

在我看来,Firefox具有正确的行为,因为 Ctrl + V 是一个不同的键盘快捷键,而不是 Ctrl + Shift + V (如果您使用桌面应用程序中的键盘快捷键,则更为明显)。我在MS Edge中尝试了这个例子,它的行为与Firefox相同。

Ctrl + Shift + V 在Chrome中有效,因为没有任何内容阻止应用程序使用这个或其他额外的粘贴快捷方式。例如,在Windows记事本中按下它会粘贴文本但在Notepad ++中插入特殊字符SYN(无论它意味着什么)。

我尝试了几个使用文本的程序(IDE,文本编辑器......),几乎所有程序都忽略 Ctrl + Shift + V 用于粘贴,包括Microsoft Word和Excel,虽然基于Windows standard edit control的编辑和组合框似乎接受它默认粘贴文本。也许这就是让你认为快捷方式的“转移”版本总是用于粘贴的原因(也许这就是Chrome接受粘贴快捷方式的原因)。

答案 1 :(得分:0)

这可能是故意的。在上下文菜单的情况下,shift + rightclick绕过javascript,这样用户即使在常规右键单击修改或阻止它时仍然可以使用标准上下文菜单。