Можно ли определить адрес ссылки под курсором?
кто нибудь знает, возможно ли определить URL ссылки под курсором?
|
- событие onmouseover
- свойство href объекта события (e.srcElement - для IE, e.taget - для не-IE, где e - объект события) |
можно,
но смысла в этом раньше не было. |
Попробуйте что-то вроде такого. Правда нужно правильно приаттачивать событие и проверять что это действительно ссылка.
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;
}
|
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;
}
})();
|
vasa_c,
Верно, моя ошибка. Не всегда получается вникнуть в проблему и быстро написать правильный код. :) |
Спасибо всем, особенно vasa_c,
скрипт работает:) правда в опере работает, а вот в IE6.0 почемуто alert не вылазиет:confused: |
на обычные ссылки твой скрипт реагирует
а на форматированные-нет пример: <a href='http://PKSoft.W6.ru'> Ссылка </a><br> <a href='http://PKSoft.W6.ru'><b>Ссылка<b></a><br> |
ну добавь в код поиск родителя с тэгом A.
|
<b><a href="">Сцылко</a></b> ?
|
| Часовой пояс GMT +3, время: 02:51. |