![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Решил воспользоваться подключаемыми обработчиками и написал такое выражение:
Добавлено @ 05:22 tst |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
проверить не могу - такой старой Оперы под рукой нет. Скажу лишь, что сталкивался с подобной проблемой: Opera 8.54 заявляет, что метод addEventListener у неё есть, но обработчики не работают, в то время, как attachEvent срабатывает. Я покрутил-покрутил, и в конце-концов в конструкции, подобной твоей, стал проверять сначала на attachEvent, и только потом уже - на addEventListener
|
|||
|
||||
| AKS |
|
||||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
12345c, такая конструкция:
не будет работать не только в ранних Opera, но еще и в Gecko < 1.8. Ошибка в следующем:
|
||||
|
|||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
||||
|
||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
Zeroglif,
Может быть потому, что у Вас "лисичка" пропатчена и т.д., и т.п.? У меня-то Gecko-бразы нетронуты обновлениями ("девственно-оригинальны") - вот они и не понимают подобных фишек. Мне наверно надо было написать: "Не работает в Gecko моложе 2006 г. выпуска". |
|||
|
||||
| 12345c |
|
||||||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Спасибо за подсказки, особенно skyboy, потому что, поменяв проверку обработчика, запустил эту конструкцию под проверяемыми браузерами (Ie6, FF1.07, Op7.54, Op9.01).
Опера повела себя наоборот по сравнению с описанным Op8.54 : o[at]('onmouseover',F,!1); не работает в ней, o[ad]('mouseover',F,!1); - работает. Хитроумная конструкция сходит с ума везде, кроме IE6: в FF начинает думать, что повешена на document, в Операх - по разному от версии, но и того хуже. Даже если написать её по-другому:
Вывод: o[имя_функции] работает, а ()||() - нет, и приводит к сумасшествию подопытных. Не пользуйтесь этой конструкцией. Корректно будет вести себя код в данном примере:
Или вариант - отказаться от обработчиков и сделать по-старинке - o.onmouseover=F;, и везде работает. -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
||||||
|
|||||||
| AKS |
|
||||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
12345c, вот "дошли руки до интересной штуки".
Да не надо, наверно, "по-старинке" - оно ведь и так будет работать там, где надо (Opera 7.23+, Gecko/20040206+...):
Работает? У меня - да. И, как видно, не надо "проверять сначала на attachEvent, и только потом уже - на addEventListener"... Это сообщение отредактировал(а) AKS - 6.11.2006, 18:44 |
||||
|
|||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |