- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть блок на котором установлены события onmouseover и onmouseout. В этом блоке находиться select. При нажатии на селект выпадает список из вариантов. Так вот IE8 (в отличае от других браузеров) интрерпретирует этот список как вообще другой блок который не имеет отношения к к select. Тоесть когда я навожу мышку на этот список срабатывает событие onmouseout.
Что можно сделать?
Что можно сделать?
ничего не видя сложно сказать, обратитесь к верстальщику
Есть блок на котором установлены события onmouseover и onmouseout. В этом блоке находиться select. При нажатии на селект выпадает список из вариантов. Так вот IE8 (в отличае от других браузеров) интрерпретирует этот список как вообще другой блок который не имеет отношения к к select. Тоесть когда я навожу мышку на этот список срабатывает событие onmouseout.
Что можно сделать?
Разместите проблему тут jsfiddle.net и дайте нам ссылку.
Разместите проблему тут jsfiddle.net и дайте нам ссылку.
На сколько я понял там нельзя выбрать браузер для которого осуществляется тест.
Тем не менее.
Если этот код запустить в IE8 то при наведении на список который откроется в селекте сработает alert, а этого быть не должно.
На сколько я понял там нельзя выбрать браузер для которого осуществляется тест.
Тем не менее.
Если этот код запустить в IE8 то при наведении на список который откроется в селекте сработает alert, а этого быть не должно.
а если эти события повесить прямо на <select>?
... Если этот код запустить в IE8 то при наведении на список который откроется в селекте сработает alert, а этого быть не должно.
с чего это вдруг "не должно" ? да ещё в осле.
это обычный трабл когда реакция на мышь вешается на блок, чей размер задаётся не в прямую, а "динамически" - за счёт внутреннего контента. тогда идёт странная, на первый взгляд, реакция мыши на всякие padding-и и margin-ы - они становятся "ничейной" территорией и сбрасывают реакцию мыши. а для select отступы задаются браузером, через css полностью их не изменить (броузер не даёт до конца сломать свой тип рендеринга select-а).
с чего это вдруг "не должно" ? да ещё в осле.
это обычный трабл когда реакция на мышь вешается на блок, чей размер задаётся не в прямую, а "динамически" - за счёт внутреннего контента. тогда идёт странная, на первый взгляд, реакция мыши на всякие padding-и и margin-ы - они становятся "ничейной" территорией и сбрасывают реакцию мыши. а для select отступы задаются браузером, через css полностью их не изменить (броузер не даёт до конца сломать свой тип рендеринга select-а).
Какие отступы, какие динамические размеры? Тут проблема в том что IE интерпретирует список вариантов для select как элемент не пренадлежащий к select, в отличае от других браузеров. Поэтому когда машка попадает на этот список срабатывает событие. Если даже событие onmouseout заменить на onmouseleave, то будет такая же ситуация.
Конечно можно решаить проблему если использовать события еще onblur и onfocus, при фокусе задавать булев тип тру, а при блур false, и onmouse out выполнять только когда этот булев тип false, тоесть селект не открыт. Но это липилово.
мне кажется у вас трабла именно в цсс, потому как одно адекватное и грамотное свой-во, может может неправильно интепретировать свой-ва всего элемента в ие( за что ему отдельная похвала)
1. Читайте про "всплывание событий" в JS
2. Юзайте фреймворки. Их для того и придумали, чтобы не ломать голову над разными странностями в разных броузерах.
2. Юзайте фреймворки. Их для того и придумали, чтобы не ломать голову над разными странностями в разных броузерах.
Например? Какой фреймвок может решить проблему кроссбраузерности?
Например? Какой фреймвок может решить проблему кроссбраузерности?
Я же написал.
У вас очевидно происходит "всплывание" событий. Т.е. когда вы проводите мышкой по какому-то элементу у вас mouseover начинает распростараняться по всем родительским элементам. вплоть до HTML. Причем порядок всплывания и способ прерывания всплывания в разных броузерах разный.
Дальше у вас два варианта. Вы выучите как это все работает и в милионный раз повторите чужой код получающий кроссброузерный обработчик этого события или забудете как страшный сон и выучите простую процедуру в jquery (или еще где-то) :
UPD знание jquery вообще-то не освобождает от знания JS, но освобождает кучу времени и сил от борьбы со всякой рутиной.