Мышь, расположенная над изображением, когда загрузка страницы не срабатывает при событии mouseover

Мне любопытно, можно ли вызвать событие onmouseover, когда страница загружается с помощью мыши над рассматриваемым изображением? Я не хочу ничего двигать мышью (следовательно, использование mousemove ничего не решит).

Я проверил эти более ранние сообщения:

jQuery запускает функцию наведения мыши, когда страница загружается при наведении курсора на элемент

и

Определить, находится ли мышь над элементом, когда страница загружается с помощью Javascript

Первый предлагает mousemove, который требует перемещения мыши. Другой ответ предлагает использовать JQuery и .load() и .hover(), которые в основном используют события mouseover и mouseout в Javascript, поэтому не привносят ничего нового в вопрос (в JQuery нельзя сделать ничего, чего нельзя было бы сделать в простом Javascript, верно? )

Второй пост предлагает, помимо mousemove, функцию, которая через свойство CSS display заставляет изображение исчезать после его загрузки, а затем снова появляется в том же месте, таким образом, согласно плакату, вызывая срабатывание события mouseover. Однако он не срабатывает, когда я делаю это таким образом, ни в текущей версии Firefox (3.6), ни в версии 3.0, которую использовал тестер (я не знаю, действительно ли он заставил его работать или нет, но я верю Я правильно его понял). Последний постер во второй теме предполагает, что это невозможно сделать, потому что странице нужно знать, где находится курсор, и она не может этого сделать, если вы не двигаете мышь, может быть, это верный ответ?


В Explorer 8 эта проблема каким-то образом исправлена, потому что, например, кнопка NEXT продолжает показывать свое изображение onmouseover вместо переключения обратно на кнопку «выключить», когда страница перезагружается, а мышь остается на том же изображении без движения. Однако ни в одном другом браузере такой возможности нет.

Я понимаю, что эту проблему можно легко исправить, используя Javascript и не перезагружая всю страницу, таким образом сохраняя изображение onmouseover на кнопке на той части страницы, которая не обновляется, но мне любопытно, как я уже сказал, возможно ли это без этого.

Кроме того, смешивание с focus и установка атрибута onfocus в теге привязки, окружающем изображение, также может исправить ситуацию, но не полностью, поскольку теперь риск будет заключаться в том, что курсор мыши будет перемещен во время загрузки новой страницы, а затем сохранит фокус через тег привязки на нажатой кнопке, чтобы заставить ее использовать кнопку «вкл», было бы плохой идеей.


Итак, есть ли способ определить, находится ли мышь над изображением, когда страница загружается без перемещения мыши даже на пиксель, или это невозможно?


person fast-reflexes    schedule 06.09.2010    source источник


Ответы (1)


Я не верю, что это возможно, так как Браузер определяет событие mouseover на основе движений мыши. Псевдокласс CSS :hover также не срабатывает в моих тестах.

person jwueller    schedule 06.09.2010
comment
Я считаю, что вы правы... было бы неплохо, чтобы это подтвердили несколько других, и краткое объяснение того, как им удалось реализовать эту функцию в Explorer 8 :) Спасибо! - person fast-reflexes; 08.09.2010