Как отменить выбор ссылки с помощью jquery - PullRequest
13 голосов
/ 03 декабря 2009

Это немного сложно объяснить, но я постараюсь.

Всякий раз, когда кто-то нажимает на ссылку привязки, вокруг нее появляется пунктирная рамка. Например, когда вы нажимаете на логотип stackoverflow поверх этой страницы, он временно окружена пунктирной линией. Поскольку страница обновляется, пунктирная рамка исчезает.

Но при использовании ajax ссылка не обновляется, поэтому пунктирная рамка остается на ней. Как убрать эту пунктирную рамку. Когда вы нажимаете где-то на странице, пунктирная рамка исчезает. Как это сделать, используя jquery или любым другим способом.

Ответы [ 3 ]

23 голосов
/ 03 декабря 2009

Чтобы отменить выбор, вы можете вызвать событие blur на элементе привязки, например:

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

element.blur() удалит фокус клавиатуры из текущего элемента.

10 голосов
/ 03 декабря 2009

Не используйте jQuery или JavaScript, чтобы это исправить. Вы можете удалить его, используя прямой CSS. Просто будьте осторожны, так как это юзабилити :

В вашей таблице стилей CSS (все элементы):

/* Disable all focus styles */
:focus { outline: 0; }

В CSS (целевая ссылка):

#mylink:focus { outline: 0; }

Проблема с решениями blur() заключается в том, что прямоугольник фокуса мигает, а затем сразу выключается.

3 голосов
/ 03 декабря 2009

Эта коробка - фокус. Вы можете попробовать сделать это:

$("#mylink").blur();

так:

$("#mylink").click(function() {
  $.ajax({...});
  $(this).blur();
  return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...