Я искал ответ на этот вопрос, но, похоже, не нашел его. Так что теперь я иду к гению 'этого сайта ;-)
Допустим, у меня есть родительский (div A) и дочерний (div B), и я хочу иметь div A в качестве ссылки - тогда, конечно, ссылка будет работать, если я нажму внутри div A - также, если я нажму div B.
Как я могу остановить это? Div A должен быть ссылкой, но если я нажимаю на дочерний элемент внутри, ничего не должно произойти.
<div A>
<div B></div>
</div>
Для этого вам нужно прибегнуть к 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>
Просто верните false
<a href="google.com">Parent Link
<div id="b" onclick='return false;'>Child Not a link</div>
</a>
Демо: скрипка