我試圖在Safari中截取命令+按鍵。我下面增加一個事件處理程序:在Safari中檢測命令+按鍵
document.onkeypress = handleKeyPress;
function handleKeyPress(event) {
if ("+" === String.fromCharCode(event.charCode) && event.metaKey) {
// my code here
return false;
}
return true;
}
當我打命令轉變=(轉變=是+
我美式鍵盤上),if語句不返回真正。
如果我刪除if語句的event.metaKey部分和命中轉變=,if語句不返回true。
另外,如果我改變匹配字符串從「+」到「=」並按命令=(帶或不帶shift鍵),if語句不返回true。
有沒有一種方法可以實際檢測到command + keypress(沒有假設+鍵是shift =並檢查event.shiftKey,因爲對於某些非美國鍵盤,這不會是真的)?
首先,我同意100%小心劫持⌘+。我有一個插件可以覆蓋內置的縮放命令並在每個站點上調用縮放級別,所以我認爲在這種情況下它是合適的。其次,謝謝你的回答。我想你已經提供了我需要的所有工具來找出答案,但是我需要一整天的時間來確保我可以獲取這些信息並使其滿足我的需求。 –
完美的作品......謝謝!對jsfiddle示例的一個小修正是,在exampleCallback函數中,有'='鍵(U + 003D)的unicode,而不是'+'鍵(U + 002B)。 –
@CeriMorgan:啊,對不起。當我把jsfiddle放在一起時,我誤解了你的問題,雖然你想聽⌘=,而不是⌘+。我在發佈之前編輯了我的答案,但忘記編輯jsfiddle。無論如何;偉大的代碼否則工作 – Flambino