document.activeelement не распознает тег привязки

0

Извините, я не смог найти хороший заголовок для вопроса. У меня есть onblur событие в моем текстовом поле, которое проверяет дублирующее имя. Я не хочу проверять дублируемое имя, если я нажимаю кнопку или тег привязки после потери фокуса от ввода. Поэтому я использую следующий код, чтобы проверить, нажал ли я на кнопку или якорный тег

if (document.activeElement === $('#btnSubmit')[0] || document.activeElement === $('#testLink')[0]) return;

Но он не распознает тег привязки и продолжает показывать сообщение. Я не хочу показывать сообщение, когда я нажимаю на тег привязки после использования вкладок из ввода.

Повторить сценарий.

  1. Нажмите на текстовое поле

  2. Затем перейдите на вкладку.

  3. Нажмите на тег привязки, и вы получите окно сообщения. Я не хочу окно сообщения, когда я нажимаю на тег привязки.

Почему document.activeElement не может найти якорный тег. пожалуйста, помогите мне

Вот скрипка

Теги:

1 ответ

1
Лучший ответ

Ярлык не может быть сфокусирован по умолчанию. Вы должны установить атрибут tabindex, например:

<a id="testLink" href="#" tabindex="-1">Test</a>

Вы можете удалить схему в CSS:

a{outline:0}

Все в одном, используя jQuery:

$('#testLink').attr('tabindex',-1).css('outline',0);

См. JsFiddle

  • 0
    Это идеально, и это то, что я хотел. Я хочу знать, почему мы должны удалить контур в CSS и что это?
  • 0
    Контур только для стиля, это своего рода граница, которая появляется на сфокусированном элементе. Вам не нужно удалять его, если вам все равно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню