我有一個應用程序在每次按空格鍵時都會執行某些操作(例如,提醒)。如果我不使用JAWS屏幕閱讀器,這工作正常。但是,一旦我加載JAWS屏幕閱讀器,當按下空格鍵時它不會執行警報。我需要使用JAWS,所以我需要這個工作。這是代碼片段。Javascript keyevent和JAWS屏幕閱讀器
$(document).keypress(function(event) {
var chCode = ('charCode' in event) ? event.charCode : event.keyCode;
if (chCode == 32){ //32 is keyCode for spacebar
alert("spacebars!!!");
}
});
從我的觀察,它似乎JAWS抓住鍵盤焦點,並不會允許空格鍵事件觸發。當我按下空格鍵時,JAWS總是讀取「空格」,但警報事件不會觸發。當空格鍵被按下時,我還能如何觸發alert或doSomething()?我如何從JAWS獲得控制權,或者與JAWS共享鍵盤控制權,這樣即使JAWS讀出我按下的角色(在本例中爲空格鍵),它也會允許我的事件(警報)觸發。謝謝。
更多代碼:
$(document).keypress(function(event) {
var cc= ('charCode' in event) ? event.charCode : event.keyCode;
if (cc == 32)
{
spArray.push(Number(new Date()));
}
});
感謝您的反饋。根據上下文,我正在開發音頻驗證碼。驗證碼控件(播放和重新加載按鈕)位於表單頁面上。用戶通過按空格鍵回答驗證碼來回答驗證碼。每次按空格鍵時我需要捕獲當前時間,但JAWS不允許捕獲空格鍵,但每次按空格鍵時它都會讀出「空格」。我需要一種方式來捕獲空格鍵,就像它在不使用JAWS時的工作方式一樣。我會嘗試你提到的應用程序角色,看看它是否有幫助。謝謝。 – bdfios
您是否嘗試過使用按鈕並接受onkeypress甚至onclick?使用標準控制意味着大白鯊可以通過按下Enter鍵並觸發一次onclick/onkeypress。 – AlastairC
是的,我做到了。它是這樣實現的:點擊播放按鈕,開始聽按鍵。請參閱上面的代碼。 – bdfios