2012-11-04 25 views
0

在這行代碼中,ACCESSKEY屬性產生預期的結果:如何HTML過程中的Esc鍵與其他鍵

<input type="button" value="Cancel" id="bDism" name="bDism" onclick="MyProc()" ACCESSKEY=&#97> 

(其它小寫字母不是工作太 - 沒有嘗試過他們! )。當你按下ALT時,MyProc被調用。

現在,這一個不行

<input type="button" value="Cancel" id="bDism" name="bDism" onclick="MyPro()" ACCESSKEY=&#27> 

可能有人請解釋一下爲什麼? (在同樣的形式中,我也有一個OK按鈕,ACCESSKEY = &#10 - 這是LF,即Enter,儘管LF是一個控制字符,就像ESC一樣)。

+0

在你寫的第二行:onclick =「MyPro()」,應該不是MyPro'c'? – Graviton

+0

@Graviton - 是的,你是對的:這個錯誤源於這樣一個事實,即原始的行已經從法語「編輯」成英文,讓大多數用戶可以掌握它。儘管如此,無論你的眼睛是否尖銳,這個錯誤對案件都沒有影響。不管怎樣,謝謝你。 –

回答

2

這些規範沒有定義哪些字符可能顯示爲accesskey屬性值以及確切的功能是什麼。在實踐中,瀏覽器以不同的方式支持一組有限的值,通常是字母和數字;見MDN on accesskey

最初旨在促進可訪問性,accesskey屬性通常成爲問題而不是解決方案的一部分,部分原因是由於不兼容的實現以及由於干擾其他鍵盤快捷鍵的使用。見例如在Keyboard Accessibility上的WebAIM頁面。

如果您對HTML中的鍵盤命令有一些特殊需求,那麼使用JavaScript來處理鍵盤事件可能是一種更成功的方法。

+0

非常好:你的解釋很清楚,我會轉向JS。謝謝Jukka。 –