2016-06-28 177 views
0

我試圖讓我的應用程序可訪問,並且這樣做的一個要求表明整個應用程序應該可以通過鍵盤使用。要完成這一點,我已經添加按鍵下面的代碼覆蓋jQuery中的按鍵事件

$("#id").unbind("click keypress").bind("click keypress", function() {/*some code*/}); 

現在這個工作,但問題是,它適用於所有其他主要的爲好。我只希望它爲輸入SpaceBar。我可以使用keydown捕獲鍵碼並僅在其13(Enter)或32(Space)時對其進行響應,但我已經愚蠢地在70多個位置進行按鍵更改,並且只在測試時才發現它。有沒有一種方法可以覆蓋默認的jQuery按鍵事件,以便它只響應上述2個按鍵的按下?

回答

0

請嘗試以下

$("#id").unbind("click keypress").bind("click keypress", function (e) { 
if(e.which == 13 || e.which == 32){ 
/*some code*/ 
} 

}); 

請更新我,如果你的作品

+0

其實我希望我可以在全球範圍內一個地方單獨在所有70個地方使用,而更新的解決方案。 –

+0

那麼你可以在這70個地方放一個普通的類或者一些常用的東西,然後用它來代替#id選擇器。那會更好。 GUESS – patilprashant6792

+0

此外,點擊事件似乎不再有效。儘管如此,感謝您的及時回覆。 –