Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 28.05.2008, 15:29
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

PK.Kirill,
Либо форматируйте ссылки с помощью стилей CSS, либо нужно будет писать довольно неприятный алгоритм. Событие-то срабатывает при наведении на ссылку, но "target" возвращает элемент, над которым курсор, а у вас элемент <b> "перекрывает" элемент <a>, т.е находится над ним.
Ответить с цитированием
  #12 (permalink)  
Старый 28.05.2008, 16:34
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

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]);
Ответить с цитированием
  #13 (permalink)  
Старый 28.05.2008, 17:00
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

Зачем здесь делать кучу замыканий, если можно использовать this.href?
Ответить с цитированием
  #14 (permalink)  
Старый 28.05.2008, 18:52
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

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

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

Последний раз редактировалось Андрей Параничев, 28.05.2008 в 21:57.
Ответить с цитированием
  #15 (permalink)  
Старый 29.05.2008, 09:28
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

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;
Ответить с цитированием
  #16 (permalink)  
Старый 29.05.2008, 15:55
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

Андрей Параничев, все обработчики событий вызываются в контексте DOM-элемента, за исключением глюка IE+appendChild, где this указывает на window.
Ответить с цитированием
  #17 (permalink)  
Старый 29.05.2008, 16:00
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

vasa_c,
Ясно, значит я ошибся.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск