我目前使用jQuery的<a>标签来启动像点击事件等事情。
例如<a href="#" class="someclass">Text</a>
但我讨厌“#”使页面跳转到页面顶部。我能做什么呢?
我目前使用jQuery的<a>标签来启动像点击事件等事情。
例如<a href="#" class="someclass">Text</a>
但我讨厌“#”使页面跳转到页面顶部。我能做什么呢?
当前回答
带有href="#"的链接几乎总是应该被按钮元素替换:
<button class="someclass">Text</button>
使用带有href="#"的链接也是一个可访问性问题,因为这些链接将对屏幕阅读器可见,屏幕阅读器将显示“链接-文本”,但如果用户单击它,它不会去任何地方。
其他回答
如果你想要迁移到同一页面上的锚节,而不需要页面跳转,请使用:
只要用“#/”而不是“#” 如
<a href="#/home">Home</a>
<a href="#/about">About</a>
<a href="#/contact">contact</a> page will not jump up on click..
在#之后添加内容将页面的焦点设置为具有该ID的元素。最简单的解决方案是使用#/,即使你使用的是jQuery。但是如果你在jQuery中处理事件,event. preventdefault()是可行的方法。
你可以只传递一个没有href属性的锚标记,并使用jQuery来执行所需的操作:
< class = " foo " > < / >的酒吧
您可以使用#0作为href,因为0不允许作为id,所以页面不会跳转。
<a href="#0" class="someclass">Text</a>
如果元素没有有意义的href值,那么它就不是真正的链接,那么为什么不使用其他元素呢?
正如Neothor所建议的那样,如果样式正确,span将作为一个可以点击的项目而显而易见。你甚至可以附加一个悬停事件,让元素在用户鼠标移动时“亮起”。
然而,话虽如此,你可能想要重新考虑你的网站的设计,这样它就可以在没有javascript的情况下运行,但在有javascript时可以通过javascript进行增强。