Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.02.2015, 11:23
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

координаты по клику
заметил такую штуку. навешивает событие на элемент. кликаем на дочерний элемент и показываются координаты дочернего элемента
<!DOCTYPE html>
<html>
	<head>
		<title>example</title>
	<link rel="stylesheet" type="text/css" href="lib/font-awesome-4.3.0/css/font-awesome.css">
	<style>
.bl1 {
	width: 200px;
	height: 100px;
	border: 1px solid black;
	position: relative;
}

.bl2 {
	width: 70px;
	height: 70px;
	border: 1px solid black;
	position: absolute;
	top: 10px;
	left: 50px;
}
	</style>
	</head>
	<body>
		<div class="bl1">
			<div class="bl2"></div>
		</div>
		<script>
document.querySelector('.bl1').onclick = function (e) {
	console.log(e);
	console.log(e.offsetX);
}
		</script>
	</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 10.02.2015, 11:26
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от skrudjmakdak
кликаем на дочерний элемент и показываются координаты дочернего элемента
Вроде все логично...
http://javascript.ru/tutorial/events...vaniya-sobytiy
Ответить с цитированием
  #3 (permalink)  
Старый 10.02.2015, 11:29
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

но если мы пропишем console.log(this); то получим именно тот элемент, на который мы навесили событие. а вот координаты показывает другого элемента
Ответить с цитированием
  #4 (permalink)  
Старый 10.02.2015, 13:47
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от skrudjmakdak
но если мы пропишем console.log(this); то получим именно тот элемент, на который мы навесили событие.
Бивас, тест! (с)

<!DOCTYPE html>
<html ng-app>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="http://code.angularjs.org/1.1.4/angular.min.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
.bl1 {
	width: 200px;
	height: 100px;
	border: 1px solid black;
	position: relative;
}

.bl2 {
	width: 70px;
	height: 70px;
	border: 1px solid black;
	position: absolute;
	top: 10px;
	left: 50px;
}
</style>
<script type='text/javascript'>
</script>
</head>
<body> 
<div class="bl1">
	<div class="bl2"></div>
</div>
<script>
document.querySelector('.bl1').onclick = function (e) {
	o=e.target||window.event.srcElement;
	alert('Это элемент '+o.className)
};
</script>
</body>
</html>

Таки событие ссылается на элемент по которому кликнули...
Ответить с цитированием
  #5 (permalink)  
Старый 10.02.2015, 21:41
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

причем тут target? я про то, что событие навешиваю на один элемент, а данные высвечивает по другому. где логика? если бы мне нужны были координаты внутреннего элемента, я бы навесил обработчик на внутренний элемент. имхо бред
Ответить с цитированием
  #6 (permalink)  
Старый 11.02.2015, 03:41
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,126

А логика в здравом смысле =).
Именно здравый смысл и создал не совсем очевидный для всех механизм всплытия событий в JavaScript. Если вкратце то такой механизм позволят в десятки раз ускорить работу событий в браузере.

События всплывают а для тебя это не очевидно =(.
Ответить с цитированием
  #7 (permalink)  
Старый 11.02.2015, 08:30
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от skrudjmakdak
имхо бред
Тогда пиши свой язык...
Ответить с цитированием
  #8 (permalink)  
Старый 12.02.2015, 09:32
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

Сообщение от ksa Посмотреть сообщение
Тогда пиши свой язык...
наверное так и надо сделать))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
По клику аякс, по клику с ctrl переход? piraids Events/DOM/Window 4 06.11.2014 22:17
По клику на картинку с ссылкой открывается портфолио, а нужен переход по ссылке nitoiti Общие вопросы Javascript 7 08.09.2014 14:39
range, selection координаты zebra Общие вопросы Javascript 2 16.04.2014 00:23
Открытие/закрытие дива по клику ссылки и закрытие по клику вне слоя vertmann Общие вопросы Javascript 3 18.11.2013 14:36
Помогите сделать так чтоб по клику открывалось и по клику же закрывалось Maxsl_89 Элементы интерфейса 1 25.10.2013 16:11