Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как получить handle дочернего элемента если функция вызывается по событию

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
shurik_7866
Отправлено: 15 Декабря, 2015 - 19:56:12
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




Для задания координат подсказки для элементов div на все div с name="div2" навешивается Listener который вызывает функцию mousemove_xy в которой собственно и задаются координаты бокса с текстом подсказки.

Но в моем случае, для того чтобы получить handle всплывающей подсказки я испольую его id. И пока у меня только один элемент div и один <span id="span2"> на странице.

CODE (html):
скопировать код в буфер обмена
  1. <div id="div2" name="div2" class="div1 photo">
  2. <img src="saperavi-severnyj-250x383.jpg" class="img1"/>
  3. <span id="span2">Сорт винограда 'Саперави северный'</span>
  4. </div>


CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script>
  3. var divs=document.getElementsByName("div2");
  4. for (i=0; i<divs.length; i++){
  5.         divs[i].addEventListener("mousemove", mousemove_xy);
  6. }
  7.  
  8. function mousemove_xy(event){
  9. var item2 = document.getElementById("span2");          
  10. item2.style.left=event.offsetX+10;
  11. item2.style.top=event.offsetY+10;
  12. }
  13. </script>
  14.  


Как определить для какого div[i] выполняется функция - что бы потом определить просто дочерний span, а не искать его по id?
 
 Top
shurik_7866
Отправлено: 15 Декабря, 2015 - 23:21:10
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Май 2015  


Помог: 0 раз(а)




Полагаю нужно использовать оператор this, но как не понятно

Напрямую
CODE (javascript):
скопировать код в буфер обмена
  1. span = this.getElementById("span2");
не работает
 
 Top
SAD
Отправлено: 16 Декабря, 2015 - 08:48:51
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Event.target
 
 Top
esterio
Отправлено: 16 Декабря, 2015 - 11:34:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Не знаю поможет ли вам, но ловите
http://forum.php.su/topic.php?fo...=46&topic=53
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB