Можно ли определить адрес ссылки под курсором?
кто нибудь знает, возможно ли определить 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, время: 11:15. |