使用Google时,我发现他们正在锚标记中使用onclick事件。
在谷歌标题部分的更多选项中,它看起来像普通的标签,但是单击时不会重定向,而是打开了菜单。通常在使用时
<a href='more.php' onclick='show_more_menu()'>More >>></a>
通常不会触发就转到“ more.php” show_more_menu()
,但是我已经在该页面中显示了一个菜单。谷歌怎么样?
Answers:
如果您的onclick函数返回false,则默认浏览器行为将被取消。因此:
<a href='http://www.google.com' onclick='return check()'>check</a>
<script type='text/javascript'>
function check()
{
return false;
}
</script>
无论哪种方式,谷歌是否这么做都不是很重要。将onclick函数绑定到javascript中更干净-通过这种方式,您可以将HTML与其他代码分开。
href="#"
应该导航到页面顶部。您可以简单地添加href
没有内容的礼物,并获得点击行为。#
对于实际页面(而不是单页100%高的应用程序),将其作为URL进行链接通常是一个坏主意。
您甚至可以尝试以下选项:
<a href="javascript:show_more_menu();">More >>></a>
return null;
,但不是return;
),则在某些浏览器(如FireFox)中会产生意想不到的后果。该页面将用字符串格式(例如:)的返回值替换所有内容[object Object]
。
据我了解,单击链接后您不希望重定向。你可以做 :
<a href='javascript:;' onclick='show_more_menu();'>More ></a>
使用以下代码显示菜单,而不是转到href地址
function show_more_menu(e) {
if( !confirm(`Go to ${e.target.href} ?`) ) e.preventDefault();
}
<a href='more.php' onclick="show_more_menu(event)"> More >>> </a>