2014-12-21 3 views
-2

Когда я нажимаю флажок, а затем сразу после ввода текста, он выделяет флажок. Когда я нажимаю пробел, когда он подсвечен, он проверяет его.
Есть ли способ отключить пробел, проверяя его или просто отключив выделение его в некотором роде?Отключить выделение флажка

+0

Где ваш код? – Sadikhasan

+1

Плохая идея. Есть люди, которые зависят от этого поведения. – meagar

+0

@meagar является правильным. Не делай этого. См. Http://www.w3.org/TR/UNDERSTANDING-WCAG20/keyboard-operation.html. – danielnixon

ответ

0

Это идет вразрез всей документации пользователя доступности, поэтому я не советую это делать, но если вы действительно хотите, чтобы достичь этого вы можете сделать это с JavaScript, удаляя флажок-х focus, когда фокусируются добавив onfocus="this.blur()":

<input type="checkbox" onfocus="this.blur()" tabindex="-1" />

Поэтому я не рекомендую этого делать, потому что это сейчас означает, что элемент недоступен при использовании вкладки клавиши на клавиатуре. Вот почему я также добавил tabindex="-1" к флажку в приведенном выше примере, так как без него событие JavaScript сбросит вкладку до 1, что сделает невозможным доступ ко всем интерактивным элементам, появляющимся после вашего флажка.

0

Этот код не фокусируется после отпускания клика, но по-прежнему позволяет пользователям вставлять галочку в этот флажок и обычно использовать элементы управления клавиатурой. Вероятно, лучший компромисс, который вы получите.

document.getElementById('checkbox').addEventListener('mouseup', function() { 
 
    this.blur(); 
 
}, false);
<input type="checkbox" id="checkbox" />

Смежные вопросы