Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Можно ли определить адрес ссылки под курсором? (https://javascript.ru/forum/events/1251-mozhno-li-opredelit-adres-ssylki-pod-kursorom.html)

Андрей Параничев 28.05.2008 15:29

PK.Kirill,
Либо форматируйте ссылки с помощью стилей CSS, либо нужно будет писать довольно неприятный алгоритм. Событие-то срабатывает при наведении на ссылку, но "target" возвращает элемент, над которым курсор, а у вас элемент <b> "перекрывает" элемент <a>, т.е находится над ним.

Kolyaj 28.05.2008 16:34

var links = document.getElementsByTagName("A");
for(var i = 0, l = links.length; i < l; i++)
  (function(link) {
    link.onmouseover = function() {
      alert(link.href);
    }
  })(links[i]);

vasa_c 28.05.2008 17:00

Зачем здесь делать кучу замыканий, если можно использовать this.href? :)

Андрей Параничев 28.05.2008 18:52

vasa_c,
Потому что тогда нужно будет прописывать к каждой ссылке функцию по onClick с параметром this, иначе this будет указывать на window.
Т.е вот так:
mylink.onclick = function(this){...}

Сделать нельзя.

Kolyaj 29.05.2008 09:28

vasa_c, да, действительно.

function getHref() {
  alert(this.href);
}

var links = document.getElementsByTagName("A");
for(var i = 0, l = links.length; i < l; i++)
  link.onmouseover = getHref;

vasa_c 29.05.2008 15:55

Андрей Параничев, все обработчики событий вызываются в контексте DOM-элемента, за исключением глюка IE+appendChild, где this указывает на window.

Андрей Параничев 29.05.2008 16:00

vasa_c,
Ясно, значит я ошибся.


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