如何做一个锚标签什么都没有提到?
我使用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>
这应该谨慎使用
这个答案应该更新,以反映新的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事件做任何你想做的事情。