Javascript позволяет запускать пользовательские события, когда пользователь наводит курсор на элемент или когда пользователь нажимает на элемент.Но как Javascript узнает, какие элементы должны получать событие click?
Например, такой HTML-элемент выглядит так:
<div style="width: 300; height: 300;">
<a href="hello">Hello World</a>
</div>
Если я нажимаю на ссылку, браузер знает, что нужно выполнить все нажатия.события, прикрепленные к этой ссылке.Но как браузер узнает, где на странице находится ссылка (или даже что она видна?)
Рассмотрим:
<div id="mydiv" style="width: 300; height: 300;">
<a href="hello">Hello World</a>
</div>
<style>
#mydiv a {
display: none;
}
</style>
Теперь ничего не произойдет, когда я нажму на место, гдеРаньше ссылка была видна.Как браузер узнает, что в этом случае нельзя запускать события щелчка / наведения?Если бы я хотел воссоздать используемый алгоритм, какие элементы мне понадобятся?
Я предполагаю, что в коде браузера есть какая-то функция, которая выглядит следующим образом:
/* Take user's mouse coordinates and return a DOM element. */
function returnElementBasedOnMouseCoordinate(x, y) {
/* Does a lookup function on some data structure */
return someElementInTheDom;
}
Как эта функция работает?