Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.01.2010, 22:52
Интересующийся
Отправить личное сообщение для Papa Посмотреть профиль Найти все сообщения от Papa
 
Регистрация: 16.12.2009
Сообщений: 19

mouseout: Определить дочерние элементы
Здравствуйте, вопрос такой, у меня есть элемент, у него много дочерних элементов, у этого элемента есть обработчик mouseout, те когда курсор покидает этот элемент надо скрывать его, проблема в том что когда курсор попадает на дочерние элементы тоже срабатывает mouseout хотя этого не надо, как исключить дочерние элеметы? на данный момент всем дочерним элементам у меня присвоен класс, я смотрю если есть такой класс то забить на этот элемент и ни чего не закрывать, все вроди работет но както косячно: когда быстро увожу мышку элемент не закрываеться (не срабатывает mouseout) и както глупо проверять элементы по классам, может есть еще варианты как с этим справиться?
Ответить с цитированием
  #2 (permalink)  
Старый 01.02.2010, 18:21
Аватар для Мараторий
Кандидат Javascript-наук
Отправить личное сообщение для Мараторий Посмотреть профиль Найти все сообщения от Мараторий
 
Регистрация: 22.01.2010
Сообщений: 114

Надо узнавать куда курсор ушел. И проверять является ли этот элемент дочерним по отношению к нужному вам элементу.
Ответить с цитированием
  #3 (permalink)  
Старый 01.02.2010, 18:36
Кандидат Javascript-наук
Отправить личное сообщение для vk65535 Посмотреть профиль Найти все сообщения от vk65535
 
Регистрация: 21.11.2008
Сообщений: 114

<div style="padding: 30px; float: left; background-color: silver;"
	onmouseover="this.style.display='';" onmouseout="this.style.display='none';" >

	<div style="background-color: gray;" >дочерние элементы</div>
</div>
Ответить с цитированием
  #4 (permalink)  
Старый 03.02.2010, 20:29
Интересующийся
Отправить личное сообщение для Papa Посмотреть профиль Найти все сообщения от Papa
 
Регистрация: 16.12.2009
Сообщений: 19

помогло это:

function isChild(e, p) {
while(e) {
if (e == p) return true;
else e = e.parentNode;
}
return false;
}
function elemOut(e) {
e = e || window.event;
return e.relatedTarget || e.toElement;
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mouseover, mouseout - не распространяется на дочерние элементы barmaley Events/DOM/Window 31 01.06.2017 08:52
дочерние элементы bobo123 Общие вопросы Javascript 9 03.02.2010 22:50
Определить есть ли скролинг на странице zaka29 Events/DOM/Window 4 26.06.2009 00:26
Кроссброузерно определить значение атрибута faunder Общие вопросы Javascript 5 21.02.2009 22:08
Определить координаты объекта в таблице ner2000 Events/DOM/Window 2 14.06.2008 01:56