Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Ссылка на кликабельном диве (https://javascript.ru/forum/dom-window/48862-ssylka-na-klikabelnom-dive.html)

JusteG 19.07.2014 20:20

Ссылка на кликабельном диве
 
Здравствуйте все.
У меня небольшой опыт разработки сайтов, видимо поэтому и возникла проблема. На страничке есть див, клик по которому обрабатывается js кодом. Потребовалось на этом же диве, разместить ссылку. И она, при клике, ведет себя хоть и закономерно, но не так как необходимо по заданию. дело в том что при клике оп ссылке, происходит переход, но и в то же время срабатывает обработчик нажатия на диве. Вопрос следующий, как сделать что бы при нажатию на такую ссылку, не срабатывал / отменялся обработчик нажатия на див.

Erolast 19.07.2014 20:31

http://javascript.ru/tutorial/events...rigger:-target

рони 19.07.2014 20:35

JusteG,
http://learn.javascript.ru/default-b...раузера

JusteG 19.07.2014 20:38

Ребята, я в шоке. Спасибо вам.
Зашел в соседнюю тему, увидел там решение своей проблемы от рони, вернулся, а тут уже 2 ответа. Я 5 минут на вашем форуме а тут такое. Я весьма приятно удивлен. Спасибо вам большое.

Erolast 19.07.2014 20:41

Ну тогда держи пример:
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
    <style>
      div {
        height: 50px;
        width: 100px;
        background-color: blue;
      }
      a {
        color: white; 
      }
    </style>
    
    <div>
      <a href="http://javascript.ru">Сайт javascript</a>      
    </div>
    
    <script>
      function click_handler(event) {
        var event_target = event.target || event.srcElement;
        
        if (event_target.tagName == "A")
          return;
        console.log(event_target);
        
        alert("Код обработчика");
      };
      
      document.querySelector("div").addEventListener("click", click_handler);
    </script>

  </body>
</html>

JusteG 19.07.2014 20:50

Крутяк. Еще и пример. Ребят я щас расплачусь (это не сарказм). Я несколько лет пишу на .NET C# SL ASP. Так на мелкомягком форуме, ссылку на RTFM можно неделю прождать... Feel the difference как говориться, да? =) Спасибо вам за отзывчивость и оперативность.


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