我目前使用jQuery的<a>标签来启动像点击事件等事情。
例如<a href="#" class="someclass">Text</a>
但我讨厌“#”使页面跳转到页面顶部。我能做什么呢?
我目前使用jQuery的<a>标签来启动像点击事件等事情。
例如<a href="#" class="someclass">Text</a>
但我讨厌“#”使页面跳转到页面顶部。我能做什么呢?
当前回答
你可以只传递一个没有href属性的锚标记,并使用jQuery来执行所需的操作:
< class = " foo " > < / >的酒吧
其他回答
在#之后添加内容将页面的焦点设置为具有该ID的元素。最简单的解决方案是使用#/,即使你使用的是jQuery。但是如果你在jQuery中处理事件,event. preventdefault()是可行的方法。
你也可以在处理jquery后返回false。
Eg.
$(".clickableAnchor").live(
"click",
function(){
//your code
return false; //<- prevents redirect to href address
}
);
只需使用<input type="button" />而不是<a>,并使用CSS样式它看起来像一个链接,如果你愿意。
按钮是专门用于单击的,它们不需要任何href属性。
最好的方法是使用onload动作来创建按钮,并通过javascript将其附加到需要的位置,因此禁用javascript后,它们根本不会显示,也不会使用户感到困惑。
当您使用href="#"时,您会得到大量指向相同位置的不同链接,当代理不支持JavaScript时,这将不起作用。
为了防止页面跳转,你需要调用e.s stoppropagation ();在调用e.b epreventdefault()之后:
stopPropagation阻止事件沿着DOM树向上移动。更多信息请访问:https://api.jquery.com/event.stoppropagation/
如果你想使用一个锚,你可以像其他答案一样使用http://api.jquery.com/event.preventDefault/。
您还可以使用任何其他元素,如span,并将单击事件附加到它。
$("span.clickable").click(function(){
alert('Yeah I was clicked');
});