Удалить или отключить границу фокуса браузера с помощью javascript

кто-нибудь знает, как отключить или управлять (в большинстве браузеров) пунктирной границей dom-элемента, если он имеет фокус в порядке tabindex?

Я хочу создать свой собственный стиль для сфокусированного элемента, но было бы здорово использовать существующую функцию, потому что с tabindex можно привязать событие keydown к DOM-элементу.

8 ответов


просто сделайте правило CSS для элементов, которые вы хотите иметь outline:none;


CSS трюк:

:focus { outline: none; }

С Firefox 53.0, если я отключу контур с одним из предлагаемых решений, Firefox отобразит тот, который по умолчанию.

однако, если я использую пустой цвет, он не обнаруживает, что контур скрыт:

input:focus{
   outline: 1px solid rgba(255,255,255,1);
}

a {
outline: 0;
}

a: hover,
a: active,
a: focus {
     outline: none;
}

input::-moz-focus-inner {
border: 0;
}

input::-moz-focus-inner { border: 0; }

:focus state - установить контур собственность до 0px сплошной прозрачный;


$(function() {
     $('a').click(function() { $(this).blur(); });
     $('input').click(function() { $(this).blur(); });
});

Не используйте CSS отключить фокус:http://outlinenone.com/ это использование других пользователей.


используя jQuery, вы можете сделать

$("#nav li a").focus(function(){
  $(this).blur();
});