Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Как можно использовать координаты синтетического события. (https://javascript.ru/forum/offtopic/29816-kak-mozhno-ispolzovat-koordinaty-sinteticheskogo-sobytiya.html)

Dim@ 12.07.2012 17:09

Как можно использовать координаты синтетического события.
 
Я поразмыслил на досуге и думаю зачем нужны
координаты синтетическому событию ;) ,
к примеру я создам синтетическое click
evt = document.createEvent('MouseEvent');//событие мыши
evt.initMouseEvent("click", true, true, window, 0, /*До false идут координаты*/0, 0, 0, 0, false, false, false, false, 0, null);//инициализация события
зачем нужны они эти координаты?
Недавно я пытался использовать координаты мыши что-бы не использовать distpathEvent на сам элемент, а зная его координаты выполнить на боди оставив событию координаты элемента, к сожалению у меня ничего не вышло - это моя ошибка с координатами или мой замысел можно реализовать (применять синтетическое события на элемент зная его координаты)? ;)
Спасибо за любые ответы.

Раед 12.07.2012 17:23

document.elementFromPoint

Dim@ 12.07.2012 17:29

Раед,
+
я не знал такой метод

Dim@ 13.07.2012 22:52

Раед,
не работает :( как им пользоваться?

Deff 13.07.2012 23:07

Dim@,
Этот метод походу для ИЕ

Dim@ 14.07.2012 00:02

Deff,
да, похоже, я его находил на mdsn

Раед 14.07.2012 00:20

Цитата:

Сообщение от Deff
Этот метод походу для ИЕ

Нет. http://javascript.ru/ui/draganddrop#...tfrompoint-x-y
P.S. Ошибся, просто document.elementFromPoint, без get

Deff 16.07.2012 02:07

Maxmaxmахimus,
По соседним ячейкам таблицы - я могу данным методом кликать ? - не зная их размеров (зная только данную ячейку ? (*Если можно - пример?

<table border='1'><tr>
      <td>ячейка 1</td><td>ячейка 2</td><td>ячейка 3</td>
  </tr>
     <tr><td>ячейка 4</td><td id=My bgcolor="red">ячейка 5</td><td>ячейка 6</td>
  </tr>
  <tr>
     <td>ячейка 7</td><td>ячейка 8</td><td>ячейка 9</td>
  </tr>
</table>

Deff 16.07.2012 11:52

Maxmaxmахimus,
я знаю все про центральную красную ячейку, нун определить её объектное окружение(оно может быть от 0 до 8 ячеек
т.е при клике за бордер красной ячейки - я попаду на соседа и смогу считать объект ? (cчитаем что border:collapse

Раед 16.07.2012 16:37

Цитата:

Сообщение от Deff
т.е при клике за бордер красной ячейки - я попаду на соседа и смогу считать объект ?

Да, и не обязательно кликать
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta content="text/html; charset=windows-1251" http-equiv="Content-Type">

</head><body>
<table border='1'><tr>
      <td>ячейка 1</td><td>ячейка 2</td><td>ячейка 3</td>
  </tr>
     <tr><td>ячейка 4</td><td id=My bgcolor="red">ячейка 5</td><td>ячейка 6</td>
  </tr>
  <tr>
     <td>ячейка 7</td><td>ячейка 8</td><td>ячейка 9</td>
  </tr>
</table>
<script type="text/javascript">
var td = document.getElementById('My');
var x = td.getBoundingClientRect().left;
var y = td.getBoundingClientRect().top;
var border = +td.parentNode.parentNode.parentNode.border;
console.log(x, y, border);
var neighbour = document.elementFromPoint(x-border-2, y+2);
alert(neighbour.innerHTML);
</script>
</body></html>


Часовой пояс GMT +3, время: 10:32.