2017-10-20 115 views
1

在Firefox中,當按住shift鍵時不會發生「粘貼」事件。我確實在Chrome中收到了此事件。按住shift鍵時如何獲得「粘貼」事件?當Firefox中的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 )是一種常見的「無格式粘貼」命令。在Google文檔中,此命令可在Firefox中使用。我假設Google文檔正在偵聽「粘貼」事件,因爲這是在Firefox中檢索剪貼板數據的唯一方法。 Google文檔如何檢索「粘貼」事件?

是否可以在執行「無格式粘貼」鍵盤命令時獲取剪貼板數據?

回答

1

在我看來Firefox有正確的行爲,因爲按Ctrl + V不同鍵盤快捷鍵比按Ctrl + + V(如果已經使用鍵盤的工作,這是更明顯桌面應用程序中的快捷方式)。我嘗試了MS Edge中的示例,它具有與Firefox相同的行爲。

按Ctrl ++V作品在Chrome中,因爲沒有什麼阻止應用程序使用也這種或者其他的附加快捷方式粘貼。例如在Windows記事本中按下它粘貼文本,但在Notepad ++中插入特殊字符SYN(不管它的意思)。

我試過用文字(集成開發環境,文本編輯器...)工作,幾乎都不理按Ctrl ++V粘貼,包括Microsoft Word和Excel幾個方案,但編輯和組合框基於Windows standard edit control似乎接受它默認情況下粘貼文本。也許這就是您認爲快捷方式的「移位」版本始終用於粘貼的原因(也許這就是爲什麼Chrome會接受該粘貼快捷方式的原因)。

+1

Firefox的99%的時間正確。它是一個真正的瀏覽器,而不是像Chrome一樣的破解 – vsync

+0

我認爲這兩種瀏覽器都反映了他們背後的人們:Firefox來自開源社區和熱心程序員,Chrome來自一個大型跨國公司。第一種方法的目標是爲人們製作瀏覽器,並以犧牲其他方面爲代價來支持正確的行爲(有時令非技術人員感到困惑,儘管這種情況正在改變)。其次,他們的目標是在他們將人們從「微軟桌面」轉移到「谷歌網絡」的總體規劃中儘可能快地取代IE(取得巨大成功),因此他們最好採用實用的方法來處理正確性。 –

0

這可能是故意的。在上下文菜單轉換的情況下,右鍵點擊繞過javascript,這樣用戶即使在常規右鍵單擊javascript修改或阻止時仍然可以使用標準上下文菜單。