制作一个不做任何事情的HTML链接(从字面上看没有)
我想要一个什么都不做的链接。 我不想要这个:
<a href="#">
因为那么URL变成something.com/whatever/#
。
我想链接的唯一原因是,用户可以看到他们可以点击文本。 JavaScript正被用来执行一些操作,所以我不需要链接去任何地方,但我需要它看起来像一个链接!
我可以使用一些数据属性,并告诉我CSS使元素看起来像链接,如果他们有这个属性,但似乎有点矫枉过正。
以下将阻止您的href被运行
<a href="#" onclick="return false;">
如果您使用的是jQuery,可以使用event.preventDefault()
尝试这个:
<a href="javascript:void(0);">link</a>
不要把它作为一个链接(虽然它是最好做的),并用CSS来devise它,使其看起来像一个链接:
p.not-a-link { text-decoration: underline; cursor: pointer }
或者甚至更好的只是让它成为一个链接,让用e.preventDefault()
来阻止链接的javascript函数。
还要添加链接到href
以便没有启用JS的用户仍然可以使用它(作为后备)。
<a href="javascript:;">Link text</a>
– 这就是我通常使用的
在HTML5中,这非常简单。 只要省略href
属性。
<a>Do Nothing</a>
@Curt的答案将工作,但你可以在CSS中使用光标风格 ,使其看起来像一个链接,而没有生成一个虚假链接的麻烦。 根据浏览器的一致性使用手或指针。
跨浏览器一致指针css(从光标样式指南):
element { cursor: pointer; cursor: hand; }
不要使用<a>
…而是使用<span class='style-like-link'>
,然后使用该类来设置它的样式。
没有人提到的一种方法是将href指向一个空的本地文件位置
<a href='\\'>my dead link</a>
为什么? 如果使用诸如react或angular之类的框架,编译器会吐出一些警告,这会使日志或控制台变脏。 这种技术也将防止机器人或蜘蛛错误地连接的东西。