как <ул.> элемент мог получить событие фокуса?

Я выполняю следующий код для трассировки tagName каждого управления, которое получает фокус в документе HTML:

$(function() {
    $("*").bind("focus", function() {
        console.log("tabbed " + this.tagName);
    });
});

Когда это работает, я могу наблюдать консоль поджигателя и видеть, что он прослеживает теги как "A" и "ВВОДИТ", который я ожидал бы получать фокус, поскольку я снабжаю вкладками через документ. Однако это также прослеживает один тег "УЛ.". Документ имеет несколько тегов УЛ., и только этот тег УЛ., кажется, получает фокус.

Какие-либо идеи, как это, возможно, произошло? Тег УЛ., который фокусируется, не имеет никакого атрибута (имя, идентификатор, и т.д.), таким образом, я понятия не имею, как это было бы изменено другим сценарием.

(работающий в Firefox. Страница, на которую я смотрю, является довольно большой, таким образом, я не включаю источник, но тег УЛ. не имеет никаких атрибутов, содержит некоторые ЛИТИИ, один из тех ЛИТИЕВ действительно содержит тег).

Согласно Которому элементы HTML могут получить фокус?, возможно, потому что некоторый сценарий установил tabindex на том теге УЛ. Я не могу найти никакой подобный сценарий все же.

Обратите внимание, что я не пытаюсь выяснить, как сделать УЛ. focusable, а скорее фигура, почему это focusable.

5
задан Community 23 May 2017 в 11:53
поделиться

2 ответа

Работа с фокусом полностью зависит от реализации браузера.

Hovewer можно заставить фокусироваться на html элементах, добавив свойство tabindex, например:

<ul tabindex="1">
    <li>item</li>
    <li>item</li>
</ul>

<ul tabindex="2">
    <li>item</li>
    <li>item</li>
</ul>

Этот "взлом" должен заставить элементы UL быть фокусируемыми (работало на меня)

.
10
ответ дан 13 December 2019 в 22:09
поделиться

Если один из LI внутри UL содержит метку A, то событие фокусировки (от A) может распространяться на UL.

0
ответ дан 13 December 2019 в 22:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: