如何做一个锚标签什么都没有提到?

我使用jQuery,我需要使一些锚标签不执行任何操作。

我通常这样写:

<a href="#">link</a> 

但是,这是指页面的顶部!

如果你不想指向任何东西,你可能不应该使用<a> (锚)标签。

如果你想看起来像一个链接,而不是像一个链接,最好使用适当的元素(如<span> ),然后使用CSS的样式:

 <span class="fake-link" id="fake-link-1">Am I a link?</span> .fake-link { color: blue; text-decoration: underline; cursor: pointer; } 

此外,鉴于你标签这个问题“jQuery”,我假设你想附加一个单击事件手柄。 如果是这样,只要做与上面相同的事情,然后使用类似下面的JavaScript的东西:

 $('#fake-link-1').click(function() { /* put your code here */ }); 

有一些不完美的解决scheme:

1.链接到一个假锚

 <a href="#"> 

问题:点击链接跳回页面顶部

2.使用“a”以外的标签

使用span标签并使用jquery来处理点击

问题:打破键盘导航,必须手动更改hover光标

3.链接到一个JavaScript的无效函数

 <a href="javascript:void(0);"> <a href="javascript:;"> 

问题:在IE中链接图像时中断

由于这些都有他们的问题,我解决的解决scheme是链接到一个假的锚,然后从onClick方法返回false:

 <a href="#" onClick="return false;"> 

不是最简洁的解决scheme,但它解决了上述方法的所有问题。

为了使它不做任何事情,使用这个:

 <a href="javascript:void(0)"> ... </a> 

处理这个问题的正确方法是在处理链接时用jQuery“断开”链接

HTML

 <a href="#" id="theLink">My Link</a> 

JS

 $('#theLink').click(function(ev){ // do whatever you want here ev.preventDefault(); ev.stopPropagation(); }); 

最后两个呼叫停止浏览器解释点击。

你是什​​么意思?

 <a href='about:blank'>blank page</a> 

要么

 <a href='whatever' onclick='return false;'>won't navigate</a> 

我想你可以试试

 <a href="JavaScript:void(0)">link</a> 

我看到这里唯一的渔获是高级别的浏览器安全性可能会提示执行JavaScript。

虽然这是比较简单的方法之一

 <a href="#" onclick="return false;">Link</a> 

这应该谨慎使用

阅读这篇文章的一些指针https://web.archive.org/web/20090301044015/http://blog.reindel.com/2006/08/11/a-hrefjavascriptvoid0-avoid-the-void

这个答案应该更新,以反映新的networking标准(HTML5)。

这个:

 <a tabindex="0">This represents a placeholder hyperlink</a> 

…是有效的HTML5。 tabindex属性使它像普通的超链接一样可以像键盘一样聚焦。 如前所述,您不妨使用span元素,但是我发现使用更优雅a元素。

请参阅: http : //dev.w3.org/html5/markup/a.html
和: http : //www.w3.org/html/wg/drafts/html/master/links.html#attr-hyperlink-href

以下是<a>标签的href标签属性的三种方式:

 <a href="JavaScript:void(0)"> link </a> <a href="javascript:;">link</a > <a href="#" onclick="return false;"> Link </a> 

有很多方法可以做到这一点

不要添加和href属性

 <a name="here"> Test <a> 

你可以添加onclick事件,而不是像href

 <a name="here" onclick="YourFunction()"> Test <a> 

或者你可以添加这样的void函数,这将是最好的方法

 <a href="javascript:void(0);"> <a href="javascript:;"> 

我知道这是一个古老的问题,但我想我还是会加两分钱的:

这取决于链接将做什么,但通常,我会指向链接在一个可能显示/做相同的事情,例如,如果你有点popup框popup:

 <a id="about" href="/about">About</a> 

然后用jQuery

 $('#about').click(function(e) { $('#aboutbox').show(); e.preventDefault(); }); 

这样一来, 老的浏览器(或禁用JavaScript的浏览器)仍然可以导航到一个单独的关于页面,但更重要的是,Google也会检索并抓取关于页面的内容。

确保你想停止的所有链接都有href="#!" (或任何你想要的,真的),然后使用这个:

 jq('body').on('click.stop_link', 'a[href="#!"]', function(event) { event.preventDefault(); }); 

唯一对我有用的是以上的组合:

首先在李的李

 <li><a onclick="LoadTab2_1()" href="JavaScript:void(0)">All Assigned</a></li> 

然后在LoadTab2_1我手动切换选项卡的div

 $("#tabs-2-1").hide(); $("#tabs-2-2").show(); 

这是因为断开连接也会断开标签中的操作

您还需要在主选项卡更改内容时手动执行选项卡样式

 $("#secTab1").addClass("ui-tabs-active").addClass("ui-state-active").addClass("ui-state-hover").addClass("ui-state-focus"); $("#secTab1 a").css("color", "#ffffff"); 

你可以有一个没有href属性的HTML锚( a标签)。 离开href属性,它不会链接到任何东西:

 <a>link</a> 

我在一个WordPress网站上遇到过这个问题。 下拉菜单中的标题总是具有属性href="" ,标题插件只能用于标准的URL。 最简单的解决scheme就是在脚注中运行这个代码:

 jQuery('[href=""]').click(function(e){ e.preventDefault(); }); 

这将防止空白锚点做任何事情。

 <a href="#" onclick="SomeFunction()" class="SomeClass">sth.</a> 

这是我的锚标签。 所以在onClick =“”事件在这里返回false是没有用的。 我只是删除了href =“#”属性,它对我来说就像下面一样

 <a onclick="SomeFunction()" class="SomeClass">sth.</a> 

我需要添加这个CSS。

 .SomeClass { cursor: pointer; } 

你可以做到

 <a style='cursor:pointer' >Link</a> 

我知道这被标记为jQuery的问题,但你也可以用AngularJS来回答这个问题。

在你的元素中,添加ng-click指令并使用$ eventvariables,这是click事件…防止其默认行为:

 <a href="#" ng-click="$event.preventDefault()"> 

你甚至可以把$ eventvariables传递给一个函数:

 <a href="#" ng-click="doSomething($event)"> 

在这个函数中,你可以用click事件做任何你想做的事情。