Почему href = "#" имеет более высокий приоритет, чем onclick - PullRequest
2 голосов
/ 09 ноября 2010

Я обычно нашел следующий код:

<a href="#" onclick="func();return false">click</a>

но когда-нибудь мой браузер перейдет в начало страницы?

Почему href="#" имеет более высокий приоритет, чем onclick?

Ответы [ 2 ]

4 голосов
/ 09 ноября 2010

Это не более высокий приоритет. При нажатии на кнопку запускается браузер.

Если вы не return false (написание нот) или func выдает ошибку (таким образом, не достигая оператора return), событие не будет отменено.

(В качестве запасного варианта, если JS не работает или отключен, перейдите, однако, ссылка на верхнюю часть страницы действительно плохая. Прогрессивное улучшение - путь вперед.)

2 голосов
/ 09 ноября 2010

Если единственная причина, по которой вы хотите получить значение href, - это включить курсор в виде руки, вы можете использовать вместо этого стиль css:

<a style="cursor:pointer;" onclick="func();return false">click</a>
...