带有 Javascript onclick 事件的 HTML 锚标记
在使用 Google 时,我发现他们在锚标记中使用 onclick 事件。
在谷歌标题部分的more选项中,它看起来像普通的标签,但点击它不会被重定向,而是打开一个菜单。通常,使用时
<a href='more.php' onclick='show_more_menu()'>More >>></a>
它通常会转到“more.php”而不触发 show_more_menu()
,但我在该页面本身中显示了一个菜单。如何像google那样做?
On using Google I found that they are using onclick events in anchor tags.
In more option in google header part, it looks like normal a tag, but onclicking it doesn't get redirected but opened a menu. Normally when using
<a href='more.php' onclick='show_more_menu()'>More >>></a>
It usually goes to 'more.php' without firing show_more_menu()
, but I have show a menu in that page itself. How to do like google?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
如果您的 onclick 函数返回 false,则默认浏览器行为将被取消。因此:
无论哪种方式,谷歌是否这样做并不重要。在 javascript 中绑定 onclick 函数会更干净 - 这样您就可以将 HTML 与其他代码分开。
If your onclick function returns false the default browser behaviour is cancelled. As such:
Either way, whether google does it or not isn't of much importance. It's cleaner to bind your onclick functions within javascript - this way you separate your HTML from other code.
您甚至可以尝试以下选项:
You can even try below option:
据我了解,您不想在单击链接时重定向。
你可以这样做:
From what I understand you do not want to redirect when the link is clicked.
You can do:
使用以下代码显示菜单,而不是转到 href 地址
Use following code to show menu instead go to href addres
另一种解决方案可以防止默认操作,即使
javascript
函数返回任何值也是如此。One more solution that prevents default action even if the
javascript
function returns any value.不确定这是否是您正在寻找的内容,但您可以使用 div 添加
role="link"
重新创建锚标记,这没有href
但位于同时从SEO的角度来看应该没问题Not sure if this is what you are looking for but you can recreate an anchor tag with a div adding
role="link"
, this doesn't have thehref
but at the same time it should be fine from a SEO point of view