st4*_*l0w 197 html javascript jquery
我目前正在使用<a>
带有jQuery的标签来启动点击事件等.
例子是 <a href="#" class="someclass">Text</a>
但是我讨厌'#'如何使页面跳到页面顶部.我该怎么做?
小智 285
所以这是旧的但是......以防万一有人在搜索中发现这一点.
只需使用"#/"
而不是"#"
页面不会跳转.
Bol*_*ock 230
在jQuery中,当你处理click事件时, 返回false以阻止链接以通常的方式响应防止默认操作(即访问href
属性)发生(根据PoweRoy的评论和Erik的回答):
$('a.someclass').click(function(e)
{
// Special stuff to do when this link is clicked...
// Cancel the default action
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
guy*_*ler 58
你甚至可以像这样写它:
<a href="javascript:void(0);"></a>
Run Code Online (Sandbox Code Playgroud)
我不确定它是一个更好的方式,但它是一种方式:)
Nab*_*.Z. 28
<a href="#!" class="someclass">Text</a>
Run Code Online (Sandbox Code Playgroud)
javascript
)<a href="javascript:void(0);" class="someclass">Text</a>
Run Code Online (Sandbox Code Playgroud)
jQuery
)<a href="#" class="someclass">Text</a>
<script>
$('a.someclass').click(function(e) {
e.preventDefault();
});
</script>
Run Code Online (Sandbox Code Playgroud)
Eri*_*ärd 14
你可以event.preventDefault()
用来避免这种情况.点击此处了解更多信息:http://api.jquery.com/event.preventDefault/.
tak*_*hin 10
如果您愿意,只需使用CSS <input type="button" />
代替<a>
并使用CSS将其设计为链接.
按钮专门用于单击,它们不需要任何href属性.
最好的方法是使用onload操作来创建按钮,并通过javascript将其附加到您需要的位置,因此在禁用javascript的情况下,它们根本不会显示,也不会混淆用户.
当您使用时href="#"
,会有大量不同的链接指向同一位置,当代理不支持JavaScript时,这些链接将不起作用.
如果您想使用锚,可以像建议的其他答案一样使用http://api.jquery.com/event.preventDefault/.
您还可以使用任何其他元素(如span)并将click事件附加到该元素.
$("span.clickable").click(function(){
alert('Yeah I was clicked');
});
Run Code Online (Sandbox Code Playgroud)
您可以使用#0
href,因为0
不允许作为id,页面不会跳转.
<a href="#0" class="someclass">Text</a>
Run Code Online (Sandbox Code Playgroud)
有4种类似的方法可以在没有任何JavaScript的情况下防止页面跳转到顶部:
选项1:
<a href="#0">Link</a>
Run Code Online (Sandbox Code Playgroud)
选项2:
<a href="#!">Link</a>
Run Code Online (Sandbox Code Playgroud)
选项 3:
<a href="#/">Link</a>
Run Code Online (Sandbox Code Playgroud)
选项 4(不推荐):
<a href="javascript:void(0);">Link</a>
Run Code Online (Sandbox Code Playgroud)
event.preventDefault()
但如果您在 jQuery 中处理点击事件,则最好使用。
小智 5
$('a[href="#"]').click(function(e) {e.preventDefault(); });
Run Code Online (Sandbox Code Playgroud)