HTML-тег привязки с событием Javascript onclick - PullRequest
68 голосов
/ 08 сентября 2011

При использовании Google я обнаружил, что они используют события onclick в тегах привязки.

В опции more в части заголовка google он выглядит как обычный тег, но при нажатии на него перенаправление не перенаправляется, а открывается меню. Обычно при использовании

<a href='more.php' onclick='show_more_menu()'>More >>></a>

Обычно он идет в «more.php» без стрельбы show_more_menu(), но я сам показал меню на этой странице. Как сделать, как Google ?

Ответы [ 4 ]

99 голосов
/ 08 сентября 2011

Если функция onclick возвращает false, поведение браузера по умолчанию отменяется.Таким образом:

<a href='http://www.google.com' onclick='return check()'>check</a>

<script type='text/javascript'>

function check()
{
    return false;
}

</script>

В любом случае, не имеет значения, делает это Google или нет.Чаще связывать свои функции onclick в javascript - таким образом вы отделяете свой HTML от другого кода.

47 голосов
/ 05 октября 2012

Вы даже можете попробовать вариант ниже:

<a href="javascript:show_more_menu();">More >>></a>
39 голосов
/ 08 сентября 2011

Из того, что я понимаю, вы не хотите перенаправлять при нажатии на ссылку. Вы можете сделать:

<a href='javascript:;' onclick='show_more_menu();'>More ></a>
0 голосов
/ 02 июля 2018

Используйте следующий код для отображения меню, вместо этого перейдите по адресу href

function show_more_menu(e) {
  if(!confirm('Do you want to go to: '+e.target.href)) e.preventDefault();;
}
<a href='more.php' onclick="show_more_menu(event)"> More >>> </a>
...