При нажатии на ссылку в Google Chrome событие фокуса не срабатывает.Все другие браузеры запускают событие focus для ссылок.
<a href=# onfocus="console.log('focus')">Link</a>
Я не хочу прикреплять событие к mousedown, но к onfocus.
У всех есть идеи для обхода проблемы.
РЕДАКТИРОВАТЬ:
Я бы определенно счел это ошибкой, поскольку все остальные фокусируемые элементы вызывают фокусировку при нажатии..
Даже не сфокусированные элементы с tabindex
активируют фокус на клике в Google Chrome.
<div tabindex="-1" onfocus="console.log('focus')">div</div>
Я не могу присоединиться к click
и focus
, потому что при нажатиидругие браузеры будут вызывать функцию дважды.Я не могу обнаружить эту функцию, потому что она требует взаимодействия с пользователем, и я не буду выполнять определение строки агента пользователя, потому что это неправильно.
Использование этого html:
<a href=# onfocus="console.log('focus')" onmousedown="console.log('mousedown')">Link</a>
Являются ли онилюбой способ сделать недействительным второй onmousedown
вызов, чтобы предотвратить повторный вызов функции в браузерах, отличных от Google.
РЕДАКТИРОВАТЬ 2:
После некоторого дальнейшего тестирования <input type=radio>
Также не удается вызвать фокус в Google Chrome.Почему в мире Google Chrome, как это, в то время как Opera, IE и Firefox все в порядке.Что сумасшедшего, так это то, что браузер мобильного веб-набора даже вызывает фокусировку на ссылках, когда я пробую его на своем устройстве Android.