在以下代码行中,ACCESSKEY属性产生预期的结果:

<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>


有人可以解释为什么吗? (在同样的形式中,我还有一个带有ACCESSKEY =&#10的OK按钮-这是LF,即Enter,尽管LF和ESC一样是控制字符,但它仍然起作用)

最佳答案

规范没有定义哪些字符可能显示为accesskey属性值以及确切的功能是什么。实际上,浏览器以多种方式支持一组有限的值,通常是字母和数字。参见MDN on accesskey

最初旨在促进可访问性的accesskey属性通常已成为问题,而不是解决方案的一部分,部分原因是实现不兼容以及干扰键盘快捷键的其他用途。参见例如Keyboard Accessibility上的WebAIM页面。

如果您对HTML中的键盘命令有特殊需要,那么使用JavaScript处理键盘事件可能是一种更成功的方法。

10-05 20:47