Подсказки (заголовок = “…”) не покажут в Firefox

У меня есть элемент с a title атрибут (т.е. подсказка), перенесенный в некоторый контейнер:

и я присоединяю a "mousemove" слушатель события на контейнере и распространении события остановки:

document.getElementById('foo').addEventListener(
    'mousemove',
    function(e) { e.stopPropagation() },
    false
)

Эта комбинация останавливающегося распространения "mousemoves" на контейнере теперь препятствует тому, чтобы подсказка собралась для внутреннего текстового поля в Firefox 2 и вверх. Я попробовал FF 2[.0.0.20], 3 [.0.11], и последние 3.5 (Windows Server 2003, XP).

Как быстрое осуществление, пользователи Firefox видят эту ошибку в действии путем выполнения следующей эквивалентной логики как выше в строке поиска:

javascript:void($('div.vote').mousemove(function(e){ e.stopPropagation() }))

Теперь наведение мыши любой голосов, провалите, или звезда (избранное) значки для этого вопроса. Подсказки больше не появляются. Снова, в Firefox только.

У кого-либо есть обходное решение для этого поведения/ошибки в Firefox? Кто-либо еще засвидетельствовал это?

Обновление: кажется, что мышь "использования Firefox прекратила перемещаться" для инициирования подсказок в хроме браузера (например, назад/вперед кнопки). См. https://bugzilla.mozilla.org/show_bug.cgi? id=82953. Однако я не могу сказать, влияет ли это на DOM.

Обновление: кажется, что Firefox 10 был последней версией, показывающей это поведение. Firefox 11.0 и вперед показывает подсказки независимо от распространения события.

Обновление: Firefox 33 (.1) больше выставки это поведение.

7
задан Brian Tompsett - 汤莱恩 22 September 2019 в 13:08
поделиться

1 ответ

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

<div id="foo" title="A tooltip 2"> <input title="A tooltip" type="text" id="bar"/>
</div>
<script type="text/javascript">
document.getElementById('foo').addEventListener(
    'mouseover',
    function(e) {
        e.stopPropagation();
        if (document.createEvent) {
            var inputBox = document.getElementById('bar');
            var evt = document.createEvent("MouseEvents");
            evt.initMouseEvent("mousemove", true, true, window, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, false, false, false, false, null, null);
            inputBox.dispatchEvent(evt);
        }
    },
    false
)
</script>

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

Я считаю, что это ошибка. Хотя это не указано в bugzilla, поиск, похоже, указывает на корреляцию между событием «наведение курсора» и всплывающими подсказками.

Вы можете загрузить последнюю ночную сборку Firefox здесь и посмотреть, есть ли она еще. Если это так, отправьте сообщение об ошибке .

В качестве альтернативы я бы посмотрел, может ли наведение указателя мыши дать желаемый эффект.

1
ответ дан 7 December 2019 в 20:38
поделиться
Другие вопросы по тегам:

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