Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.04.2012, 14:35
Аватар для cmygeHm
Профессор
Отправить личное сообщение для cmygeHm Посмотреть профиль Найти все сообщения от cmygeHm
 
Регистрация: 12.10.2010
Сообщений: 196

onmousedown сквозь див
Вот пример:
<script>
	window.onload = function(){
		var el1 = document.getElementById('el1');
		var el2 = document.getElementById('el2');

		el1.onmousedown = function() {
			console.log('el1');
		}
		el2.onmousedown = function() {
			console.log('el2');
		}
	}
</script>
<body>
	<div id="el1" style="position: absolute; top: 100px; left: 100px; width: 150px; height: 350px; border: 1px solid red;">
		
		<div id="el2" style="position: absolute; top: 50px; left: 50px; width: 50px; height: 50px; border: 1px solid green;"></div>
		
	</div>
</body>

Как сделать так, чтобы при mousedown на внутренний зелененький див событие onmousedown большого красненького дива не сработало!?
Вариант ловить события window.onmousedown и делать программный вызов onmousedown того дива, над которым произошел щелчок уже рассмотрен. Но надеюсь есть что-то проще...
Всем спасибо за внимание!
Ответить с цитированием
  #2 (permalink)  
Старый 13.04.2012, 15:34
Аватар для cmygeHm
Профессор
Отправить личное сообщение для cmygeHm Посмотреть профиль Найти все сообщения от cmygeHm
 
Регистрация: 12.10.2010
Сообщений: 196

Ура! Решил!
<script>
	window.onload = function(){
		var el1 = document.getElementById('el1');
		var el2 = document.getElementById('el2');

		el1.onmousedown = function(ev) {
			if(ev.target.id != 'el2')
				console.log('el1');
		}
		el2.onmousedown = function() {
			
			console.log('el2');
		}
	}
</script>
<body>
	<div id="el1" style="position: absolute; top: 100px; left: 100px; width: 150px; height: 350px; border: 1px solid red;">
		
		<div id="el2" style="position: absolute; top: 50px; left: 50px; width: 50px; height: 50px; border: 1px solid green;"></div>
		
	</div>
</body>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать, что бы див оставался на месте после перехода на следующую страницу? OklickSpb Общие вопросы Javascript 4 15.03.2012 22:02
определить ширину див тега dadli Общие вопросы Javascript 6 20.02.2012 16:34
Показывать див при подводе на другой див Manjuriano jQuery 5 16.09.2011 16:00
Всплывающий див около курсора Andrejs Элементы интерфейса 1 11.02.2011 17:08
Замена одного скрытого див на другой. Djohan Элементы интерфейса 8 29.11.2010 13:22