Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.04.2010, 01:03
Профессор
Отправить личное сообщение для lancer Посмотреть профиль Найти все сообщения от lancer
 
Регистрация: 30.01.2008
Сообщений: 230

onmouseout вызывается неправильно.
Вопрос в том, почему когда мышь выходит за границы id2(темнокоричневый), то срабатывает onmouseout на id1, ведь наооборот мышь находится на нем.

Как видите, разобрался с тем, что если мышь наводиться на темно-коричневый, то бледно коричневый следует включать заново, так как считается, что мышь хоть и на дочернем, но не на родителе.

Но вот с вопросом выше ни могу найти ни каких объяснений.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Тест</title>	
	<meta http-equiv="Content-Script-Type" content="text/javascript" />
	<style>
		*{text-align:center;}
		#id1{background:#f8d698; width:200px; height:200px}
		#id2{background:#d08600; width:100px; height:100px;}
	</style>

	
</head>

<body>
	<div id="id1" onmouseout="document.getElementById('id1').style.display='none';">
		id1
		<div id="id2" onmouseover="document.getElementById('id1').style.display='block';">id2</div>
	</div>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2010, 08:11
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,510

Изучи как события происходят в js на примере:
<div id="id1" onmouseout="alert('id1 out')" onmouseover="alert('id1 over')">
        id1
        <div id="id2" onmouseover="alert('id2 over')" onmouseout="alert('id2 out')">id2</div>

Т.е. у родителя срабатывает на детях. Чтобы это побороть надо анализировать в коде источник события. (event.srcElement || event.target)
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2010, 09:41
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

http://javascript.ru/tutorial/events...dok-i-chastota
Ответить с цитированием
  #4 (permalink)  
Старый 21.04.2010, 15:18
Профессор
Отправить личное сообщение для lancer Посмотреть профиль Найти все сообщения от lancer
 
Регистрация: 30.01.2008
Сообщений: 230

Спасибо огромное. Все работает.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
onmouseout для ячейки таблицы. Sir_Hally Events/DOM/Window 2 24.01.2012 16:21
Неправильно отображаются страницы davletoff Javascript под браузер 2 30.11.2009 00:35
Проблемы с отработкой onmouseout micscr Events/DOM/Window 5 22.09.2009 18:19
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12
Не вызывается callback у post в IE maxtor jQuery 24 25.01.2009 13:57