【问题标题】:anchor as button with accesskey is behaving different from an actual button作为带有 accesskey 的按钮的锚点与实际按钮的行为不同
【发布时间】:2014-10-16 08:02:14
【问题描述】:

我有一个分配了访问密钥的锚。锚点用作按钮,但它必须是锚点,因为页面使用 jQuery UI 主题样式。

在 Chrome 中,一切正常,我可以使用 + accesskey“单击”按钮。

但是,在 IE 中,只有当我使用 + accesskey 时,该按钮才会被“选中”。如何确保按钮立即被“点击”(之后不必按“回车”)?

请看这个小提琴的例子:http://jsfiddle.net/5yu6anpf/

HTML:

<a accesskey="a" href="#">anchor (a)</a>
<button accesskey="b">button (b)</button>
<span id="status">use alt + a/b</span>

Javascript:

$("a, button")
    .button()
    .click(function() {
        $("#status").text($(this).text())
    });

【问题讨论】:

  • 按alt+accesskey后,在ie中按回车。 ff 使用 shift+alt。这取决于浏览器
  • 回车键确实可以工作,但是只需按 alt+accesskey 即可“单击”实际按钮,正如您在小提琴中看到的那样。是否可以绕过回车键?

标签: jquery html jquery-ui mnemonics


【解决方案1】:

IE只用access-key给焦点,我们可以通过触发click来观察焦点事件

$("a, button")
    .button()
    .focus(function () {
        $(this).click()
     })
    .click(function () {
       $("#status").text($(this).text())
});

【讨论】:

  • 这确实有效,但它也会影响选项卡和其他焦点操作...
  • 由于没有其他答案/解决方案,我已经实现了这个解决方案。
猜你喜欢
  • 2013-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-04
相关资源
最近更新 更多