Можно ли остановить браузер после ссылки, когда срабатывает onclick дочернего элемента?

Это то, что у меня есть в основном:

<a href="#" onclick="location.href='http://somelink.com'; return false;">
    <span>stuff</span>
    <span onclick="AwesomeFunction();">more stuff</span>
    <span>the last stuff</span>
</a>

Теперь проблема заключается в том, что я хочу, чтобы родительский элемент был ссылкой, но если пользователь нажимает на span с событием onclick, я не хочу, чтобы браузер следил за ссылкой.

Я пробовал

event.stopPropagation();

но это только, кажется, останавливает ссылки onclick-события от стрельбы, или я делаю что-то неправильно.

В настоящее время я вхожу в хруст-режим, и я не хочу тратить слишком много времени на перекодирование кода, генерирующего этот HTML-код, но он по-прежнему не может быть взломом, поскольку он реализован в довольно важной функции сайт. Любая помощь была оценена.

Ответ 1

Сделайте метод javascript верным false!

Или вы также можете использовать event.preventDefault() вместо event.stopPropagation()

Ответ 2

конечно, просто верните false в onclick

что-то вроде

<a href="somwhere" onclick="return false;">nothing happens</a>

Ответ 3

<a href="#" onclick="location.href='http://somelink.com'; return false;">
    <span>stuff</span>
    <span onclick="AwsomeFunction(); return false;">more stuff</span>
    <span>the last stuff</span>
</a>