Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблемы с событием onmouseover в разных браузерах (https://javascript.ru/forum/misc/23581-problemy-s-sobytiem-onmouseover-v-raznykh-brauzerakh.html)

jsuse 28.11.2011 20:24

Проблемы с событием onmouseover в разных браузерах
 
Кто-нибудь встречался в проблемой onmouseover в разных браузерах? Только что обнаружил, что onmouseover работает совершенно по разному в браузерах в зависимости от того как его прилаживать к элементу.

Если в тег вставлять,
<h1 onmouseover="function()"></h1>
то не работает в ФФ, но работает в ИЭ. Вернее ФФ выдает undefined на событие.



Если функцией делать,
h1.onmouseover = function(event)
то ИЭ не видит событие вообще, зато прекрасно ловит ФФ.


Хром видит и так и так. ИЭ имею ввиду 8.


Подскажите, как можно обойти этот момент. Кто-то встречался с таким?Есть какое-то решение, которое для всех работает?

ZaValera 28.11.2011 20:31

<h1 onmouseover="function()"></h1> в ФФ8 - работает.

Для IE используйте вот это:

getElementById('h1').setAttribute('onmouseover','f unction');

А если хотите универсальный способ, то действуйте так:

var temp = getElementById('h1');
if (temp.onmouseover) temp.onmouseover = function();
else temp.setAttribute('onmouseover','function');

jsuse 29.11.2011 00:56

Цитата:

Сообщение от ZaValera (Сообщение 139538)
А если хотите универсальный способ, то действуйте так:

var temp = getElementById('h1');
if (temp.onmouseover) temp.onmouseover = function();
else temp.setAttribute('onmouseover','function');

Работает. Спасибо.
Но возникла вторая проблема. В ИЕ<9 не существует метода getElementsByClassName. Есть какие-то решения или все же какой-то свой конвертер писать?

melky 29.11.2011 08:59

поищите эту функцию в интернете. её там навалом

trikadin 29.11.2011 18:30

ZaValera, за такую универсальную ф-цию... Руки-то бы поотрывать! (с)

jsuse, прочтите это. Несколько раз)


Часовой пояс GMT +3, время: 14:44.