Удалить или отключить границу фокуса браузера с помощью JavaScript - PullRequest
54 голосов
/ 10 июня 2010

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

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

Ответы [ 8 ]

145 голосов
/ 10 июня 2010

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

30 голосов
/ 05 сентября 2010

CSS трюк:

:focus { outline: none; }
2 голосов
/ 10 мая 2017

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

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

input:focus{
   outline: 1px solid rgba(255,255,255,1);
}
1 голос
/ 29 декабря 2013
a {
outline: 0;
}

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

input::-moz-focus-inner {
border: 0;
}
0 голосов
/ 24 сентября 2018
$(function() {
     $('a').click(function() { $(this).blur(); });
     $('input').click(function() { $(this).blur(); });
});

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

0 голосов
/ 28 июня 2016

:focus state - установить свойство контура равным 0px solid прозрачный;

0 голосов
/ 29 июня 2010
input::-moz-focus-inner { border: 0; }
0 голосов
/ 10 июня 2010

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

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