我正在做一個chrome擴展,偶爾會阻止所有鍵盤輸入臨時到達網頁(因爲擴展的處理程序使用它捕獲的鍵盤輸入執行自己的任務)。這個擴展功能在聽取所有這些輸入信息方面做得很好。preventDefault沒有阻止使用Alt修飾符的鍵
然而,一些鍵盤輸入仍然通過網頁!具體來說,某些使用Alt修飾鍵的鍵盤輸入會到達網頁。我複製了這個代碼的問題:https://jsfiddle.net/Sophtware/5ucefew2/
有人可以幫助我弄清楚爲什麼發生這種情況,以及如何解決它:
$(window).get(0).addEventListener("keypress",
function(e){
e.stopPropagation();
e.preventDefault();
}, true);
您可以在此的jsfiddle代碼交互?編輯#1:我發現來自preventDefault調用的符號是類似重音符號或其他「組合字符」(如',,¨)的符號。實際上,一旦輸入組合字符,輸入的下一個字符將始終無法被阻止。
見我的回答如下爲你有幾個問題和工作的例子。 –