Родитель как ссылка, но не ребенок

0

Я искал ответ на этот вопрос, но, похоже, не нашел его. Так что теперь я иду к гению 'этого сайта ;-)

Допустим, у меня есть родительский (div A) и дочерний (div B), и я хочу иметь div A в качестве ссылки - тогда, конечно, ссылка будет работать, если я нажму внутри div A - также, если я нажму div B.

Как я могу остановить это? Div A должен быть ссылкой, но если я нажимаю на дочерний элемент внутри, ничего не должно произойти.

<div A>
<div B></div>
</div>
  • 0
    Как заставить div вести себя как ссылка? Javascript? Тогда поделитесь своим кодом.
Теги:
hyperlink

2 ответа

2
Лучший ответ

Для этого вам нужно прибегнуть к JavaScript. Привяжите обработчик событий к B и предотвратите поведение по умолчанию для ссылки.

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style>a { display: block; }</style>
</head>
<body>
  <a href="http://example.com">
    <div id="a">Hello
      <div id="b">World
      </div>
    </div>
  </a>
  <script>
    document.getElementById('b').addEventListener('click', function (e) { 
      e.preventDefault();
    });  
  </script> 
</body>
</html>
  • 0
    Это конечно работает! Спасибо.
  • 0
    @steffenhenriksen Если это сработало для вас, пожалуйста, примите это как ответ, чтобы вознаградить Квентина за его вклад
0

Просто верните false

<a href="google.com">Parent Link
    <div id="b" onclick='return false;'>Child Not a link</div>
</a> 

Демо: скрипка

Ещё вопросы

Сообщество Overcoder
Наверх
Меню