Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   на каком элементе списка произошел клик (https://javascript.ru/forum/events/37560-na-kakom-ehlemente-spiska-proizoshel-klik.html)

torsar 24.04.2013 18:06

на каком элементе списка произошел клик
 
<ul class="menu" id="menu">
            <li>
                <span>CARDS</span>
            </li>
            <li>
                <span>FILTERS</span>
            </li>
            <li>
                <span>STATS</span>
            </li>
            <li>
                <span>HELP</span>
            </li>
        </ul>


навесил на ul клик- событие
можно ли в этом событии определить на какоом li произошел клик

SkyLight 25.04.2013 00:22

Да

RazZzeR 25.04.2013 03:37

Цитата:

Сообщение от torsar (Сообщение 247927)
<ul class="menu" id="menu">
            <li>
                <span>CARDS</span>
            </li>
            <li>
                <span>FILTERS</span>
            </li>
            <li>
                <span>STATS</span>
            </li>
            <li>
                <span>HELP</span>
            </li>
        </ul>


навесил на ul клик- событие
можно ли в этом событии определить на какоом li произошел клик

если переменная события - event, то блок получаем вот так
event.toElement

проверяем работоспособность:
event.toElement.style.color = '#f00';

cyber 25.04.2013 09:36

<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
<ul class="menu" id="menu">
            <li>
                <span>CARDS</span>
            </li>
            <li>
                <span>FILTERS</span>
            </li>
            <li>
                <span>STATS</span>
            </li>
            <li>
                <span>HELP</span>
            </li>
        </ul>
    <script>

var elem = document.getElementById("menu");
      
      elem.onclick = function (e){
      
        var li = event.srcElement || e.target;
      
        while(li.tagName != "LI" && li )
        {
        
         li = li.parentNode;
        
        }
        
        alert(li.innerHTML);
      };


    </script>

  </body>
</html>


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