我想要一个什么都不做的链接.我不想要这个:
<a href="#">
因为那时URL就变成了something.com/whatever/#.
我想要链接的唯一原因是用户可以看到他们可以点击文本.JavaScript被用来执行一些操作,所以我不需要链接去任何地方,但我需要它看起来像一个链接!
我可以使用一些数据属性并告诉我CSS使元素看起来像链接,如果他们有这个属性,但它似乎有点矫枉过正.
Cur*_*urt 114
以下内容将阻止您的href运行
<a href="#" onclick="return false;">
Run Code Online (Sandbox Code Playgroud)
如果您使用的是jQuery,event.preventDefault()可以使用
ale*_*ets 74
试试这个:
<a href="javascript:void(0);">link</a>
Run Code Online (Sandbox Code Playgroud)
Ale*_*ara 20
在HTML5中,这非常简单.只需省略href属性即可.
<a>Do Nothing</a>Run Code Online (Sandbox Code Playgroud)
HREF
这是定义超文本源链接的锚点的唯一必需属性,但在HTML5中不再需要.
对于没有的a标签,浏览器的默认样式可能不会将光标更改为指针href.您可以使用以下CSS进行普遍更改.
a {
cursor: pointer;
}Run Code Online (Sandbox Code Playgroud)
<a>Do Nothing</a>Run Code Online (Sandbox Code Playgroud)
但是,对它更具选择性可能更好,并且只将它应用于你想要添加事件处理程序的元素.
只需添加tabindex="0"元素即可.
<a tabindex="0">Do Nothing</a>Run Code Online (Sandbox Code Playgroud)
a没有链接的标签是否有意义?通常不行,最好使用一个button元素,然后使用CSS来设置它.但是无论你使用什么div,都要尽可能避免使用任意元素,因为这根本不是语义.
Mic*_*ver 15
恰当的:
<a href="#;">Link</a>
Run Code Online (Sandbox Code Playgroud)
Pee*_*Haa 11
不要把它作为一个链接(尽管它更喜欢这样做)并用CSS设置样式,使它看起来像一个链接:
p.not-a-link { text-decoration: underline; cursor: pointer }
Run Code Online (Sandbox Code Playgroud)
或者更好的只是让它成为一个链接,并让javascript函数用于e.preventDefault()防止链接.
还要添加链接,href以便没有启用JS的用户仍然可以使用它(作为后备).
我们可以使用 javascript void 来实现这一点,这通常涉及表达式的求值并返回 undefined,其中包括添加javascript:void(0);href。
void 运算符通常仅用于获取未定义的原始值,通常使用 \xe2\x80\x9cvoid(0)\xe2\x80\x9d (相当于 \xe2\x80\x9cvoid 0\xe2\x80\x9d) 。在这些情况下,可以使用全局变量 undefined 来代替(假设它尚未分配给非默认值)。
\n\na {\r\n text-decoration: initial;\r\n}Run Code Online (Sandbox Code Playgroud)\r\n<a href="javascript:void(0);"> This link actually does nothing when clicked</a>Run Code Online (Sandbox Code Playgroud)\r\n