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)

PK.Kirill 26.05.2008 01:09

Можно ли определить адрес ссылки под курсором?
 
кто нибудь знает, возможно ли определить URL ссылки под курсором?

Dmitry A. Soshnikov 26.05.2008 02:06

- событие onmouseover
- свойство href объекта события (e.srcElement - для IE, e.taget - для не-IE, где e - объект события)

scuter 26.05.2008 14:17

можно,
но смысла в этом раньше не было.

Андрей Параничев 26.05.2008 16:43

Попробуйте что-то вроде такого. Правда нужно правильно приаттачивать событие и проверять что это действительно ссылка.
function getHrefLink(e)
{
    var link =  e.target || e.srcElement;
    alert(link);
}

var links = document.getElementsByTagName("A");
for(var i in links)
{
    links[i].onmouseover = getHrefLink;
}

vasa_c 26.05.2008 22:49

1. Вы получаете элемент из события различным способом для FF и IE, но забыли само получение объекта события распараллелить :)
e = window.event || e;


2. Так как событие вешается на каждый A и через on-атрибут, то вообще srcElement нет надобности получать - он будет this в функции.

3. А лучше не вешать обработчики на всё подряд, перебивая к тому же, возможно, уже существующие у каждого элемента, а повесить один:

(function() {
	function handler(e)
	{
		e = e || window.event;
		var target = e.target || e.srcElement;
		if (target.tagName != "A") {
			return true;
		}
		var href = target.getAttribute("href");
		alert(href);
		return true;
	}
	if (window.addEventListener) {
		window.addEventListener("mouseover", handler, false);
	} else if (window.attachEvent) {
		document.body.attachEvent("onmouseover", handler);		
	} else {
		window.onmouseover = handler;
	}
})();

Андрей Параничев 26.05.2008 23:40

vasa_c,
Верно, моя ошибка. Не всегда получается вникнуть в проблему и быстро написать правильный код. :)

PK.Kirill 27.05.2008 02:25

Спасибо всем, особенно vasa_c,
скрипт работает:)
правда в опере работает, а вот в IE6.0 почемуто alert не вылазиет:confused:

PK.Kirill 27.05.2008 03:16

на обычные ссылки твой скрипт реагирует
а на форматированные-нет
пример:
<a href='http://PKSoft.W6.ru'>   Ссылка   </a><br>
<a href='http://PKSoft.W6.ru'><b>Ссылка<b></a><br>

tenshi 28.05.2008 10:21

ну добавь в код поиск родителя с тэгом A.

vasa_c 28.05.2008 13:18

<b><a href="">Сцылко</a></b> ?


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