[IE, JS] Cписок дивы в диве, не кликается и не подсвечивается толком.
на артлебедеве есть статейка про спрайты, одна из последних. Поситай, наверняка найдешь решение проблемы
2) onmouseover и onmouseout - геморрой, используй onmouseenter/onmouseleave, будет работать только в ИЕ и правильно. Для остальных - :hover
3) Да, див действительно дырявый - потому что в нём лежит дырявый текст. Сделай диву background-color:transparent.
а можно про 3) подробнее, что-то я не понял, что значит "текст дырявый"?
странно, у меня :hover в ИЕ7 не работаетА как именно ты его делаешь?
Попробуй минимальный пример вроде:
<style>
div { background-color:green; }
div:hover { background-color:red; }
</style>
<div>hkjhljhouiyuhouih</div>
а можно про 3) подробнее, что-то я не понял, что значит "текст дырявый"?То и значит.
Как ты думаешь, в каких случаях у тебя мышь будет находиться над div-ом, если у него нет фона? В тех случаях, когда она находится над его содержимым - то есть, над буквами.
То и значит.Как ты думаешь, в каких случаях у тебя мышь будет находиться над div-ом, если у него нет фона? В тех случаях, когда она находится над его содержимым - то есть, над буквами.а почему тогда клик над дивом с фоном не поднимается до внешнего дива?
В тех случаях, когда она находится над его содержимым - то есть, над буквами.границы тогда на что? Содержимое находится внутри границ, а не тока текст.
Когда твоя рука над винтиком - она над содержимым коробки. А когда твоя рука не над винтиком - то не имеет значения, что она в пределах стенок коробки, она над полом, а не над содержимым коробки.
ты как никогда логичен
Оставить комментарий
bastii
Замучился уже, видимо я ничего не понимаю в этой кухне JS+DOM+... Может кто поможет со следующей проблемой.Делаю список из сложных элементов, примерно такой структуры.
Первая. Хочу, чтобы при наведении на внутренний див он подсвечивался (в ФФ и Опере работает :hover). Для IE делал двумя способами, и оба работали с глюками: 1) через mouseover/mouseout c проверкой, что mouseout выходит именно за див элемента списка, 2) через mouseenter/mouseleave. В обоих случаях, повсеместно срабатывают неуместные (в смысле когда визуально мышка над дивом) mouseover. Хотя про 2) не уверен, может быть и mouseenter не досрабатывает — с этим вариантом меньше разбирался. Фактически, получается, что див какой-то дырявый. Проблема решается (кажется если установить background-color в стиле. Но тогда перестают совсем срабатывать клики — это уже вылезает больше вторая проблема.
На див #list установлен обработчик click, так он не срабатывает, если кликать на элементы <img> и <span> внутри дива элемента списка. А если сделать background-color так вообще не срабатывает. Что-то я не могу понять, как тогда работает всплывание события клик в данном случая.
Короче, что я делаю не так, как правильно?