координаты по клику
заметил такую штуку. навешивает событие на элемент. кликаем на дочерний элемент и показываются координаты дочернего элемента
<!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>
|
Цитата:
http://javascript.ru/tutorial/events...vaniya-sobytiy |
но если мы пропишем 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>
Таки событие ссылается на элемент по которому кликнули... |
причем тут target? я про то, что событие навешиваю на один элемент, а данные высвечивает по другому. где логика? если бы мне нужны были координаты внутреннего элемента, я бы навесил обработчик на внутренний элемент. имхо бред
|
А логика в здравом смысле =).
Именно здравый смысл и создал не совсем очевидный для всех механизм всплытия событий в JavaScript. Если вкратце то такой механизм позволят в десятки раз ускорить работу событий в браузере. События всплывают а для тебя это не очевидно =(. |
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 22:53. |