Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2011, 20:24
Аспирант
Отправить личное сообщение для jsuse Посмотреть профиль Найти все сообщения от jsuse
 
Регистрация: 10.04.2010
Сообщений: 92

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

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



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


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


Подскажите, как можно обойти этот момент. Кто-то встречался с таким?Есть какое-то решение, которое для всех работает?
Ответить с цитированием
  #2 (permalink)  
Старый 28.11.2011, 20:31
Интересующийся
Отправить личное сообщение для ZaValera Посмотреть профиль Найти все сообщения от ZaValera
 
Регистрация: 28.11.2011
Сообщений: 12

<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');

Последний раз редактировалось ZaValera, 28.11.2011 в 20:37.
Ответить с цитированием
  #3 (permalink)  
Старый 29.11.2011, 00:56
Аспирант
Отправить личное сообщение для jsuse Посмотреть профиль Найти все сообщения от jsuse
 
Регистрация: 10.04.2010
Сообщений: 92

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

var temp = getElementById('h1');
if (temp.onmouseover) temp.onmouseover = function();
else temp.setAttribute('onmouseover','function');
Работает. Спасибо.
Но возникла вторая проблема. В ИЕ<9 не существует метода getElementsByClassName. Есть какие-то решения или все же какой-то свой конвертер писать?
Ответить с цитированием
  #4 (permalink)  
Старый 29.11.2011, 08:59
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

поищите эту функцию в интернете. её там навалом
Ответить с цитированием
  #5 (permalink)  
Старый 29.11.2011, 18:30
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

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

jsuse, прочтите это. Несколько раз)
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поведение свойства length в разных браузерах. mihim Общие вопросы Javascript 1 13.08.2011 10:50
АААААААААА!!! Протестируйте пожалуйста код в разных браузерах. выявляем ошибки. prototype Элементы интерфейса 1 22.07.2011 07:47
Некорректная работа скрипта в разных браузерах en-k Общие вопросы Javascript 2 15.03.2011 14:54
Работа скрипта в разных браузерах estonec Internet Explorer 5 24.03.2010 13:39
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37