0
我的webapp已經實現了鍵盤快捷鍵。對於每個鍵,無論是否按下,都有一個布爾變量。當出現一些特定的快捷方式時,我會採取一些行動失去焦點時處理鍵盤事件的最佳方式
問題是,有些操作會使我的文檔失去焦點(例如打開對話框,保存對話框或簡單警報()),並且我的web應用程序無法找到密鑰是否被釋放。
即使在alert()期間,是否可以繼續獲取鍵盤事件?我知道我可以將所有鍵設置爲False,當出現一些快捷鍵時。有更優雅的東西嗎?
if(ctrlDown && mDown) alert("...");
看到這裏:https://jsfiddle.net/fvqhbLa1/1/該文件顯示是否按下Ctrl,M,B。但是當你按下Ctrl和M時,會有提醒,關閉它之後文件仍然認爲Ctrl和M被按下了。現在,您可以按下Ctrl鍵並在不按下M的情況下觸發警報()。
我知道這個問題 「解決方案」。但我有大約100個快捷方式和100個動作,例如Ctrl + Space是動作A,Ctrl + Space + Alt是動作B(A和B保持焦點),我需要在A和B之間切換,只需按下並釋放Alt鍵(同時按住Ctrl和空格鍵)。如果我像你說的那樣做,我的代碼會延長兩倍。 –
有沒有辦法讓按鍵沒有鍵盤事件?或者其他解決方案? –