2014-10-16 3 views
2

У меня есть якорь с назначенным ключом доступа. Якорь используется как кнопка, но он должен быть привязкой, так как страница использует стиль стилей jQuery UI.якорь как кнопка с ключом доступа ведет себя отличным от фактической кнопки

В Chrome все работает нормально, я могу нажать кнопку, используя < alt> + accesskey.

Однако в IE кнопка только «выбрана», когда я использую < alt> + accesskey. Как я могу убедиться, что кнопка «сразу нажата» (без нажатия «enter»)?

Смотрите эту скрипку для примера: 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()) 
    }); 
+0

После нажатия клавиши alt + accesskey нажмите enter, т.е. используйте shift + alt для ff. Это зависит от браузера. –

+0

. Клавиша ввода действительно работает, однако фактические кнопки «нажимаются», просто нажимая alt + accesskey, как вы можете видеть на скрипке. Можно ли использовать обход ключа ввода? –

ответ

1

IE только дает фокус с доступом ключ, мы можем наблюдать с фокусом мероприятия по триггерный щелчок

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

Это действительно работает, однако это также влияет на операции табуляции и другие действия фокуса ... –

+0

Поскольку нет других ответов/решений, я реализовал это решение. –