我想要一个不起作用的链接。我不要这个:
<a href="#">
因为这样URL变为something.com/whatever/#
。
我想要链接的唯一原因是使用户可以看到他们可以单击文本。JavaScript正在用于执行某些操作,因此我不需要将该链接放到任何地方,但我需要使其看起来像一个链接!
我可以使用一些数据属性,并告诉我CSS使元素看起来像链接(如果它们具有此属性),但这似乎有点过头了。
我想要一个不起作用的链接。我不要这个:
<a href="#">
因为这样URL变为something.com/whatever/#
。
我想要链接的唯一原因是使用户可以看到他们可以单击文本。JavaScript正在用于执行某些操作,因此我不需要将该链接放到任何地方,但我需要使其看起来像一个链接!
我可以使用一些数据属性,并告诉我CSS使元素看起来像链接(如果它们具有此属性),但这似乎有点过头了。
pointer
在你的CSS
Answers:
试试这个:
<a href="javascript:void(0);">link</a>
javascript:void
和之间有区别javascript:void(0)
吗?
javascript:void()
将为SyntaxError,但javascript:void
仅返回undefined-与相同void(0)
。亚当,据我所知,void
并且void(0)
在功能上等同于这种用途。---编辑:虽然我看到,暗示它可能会重新加载页面的其他意见..
在HTML5中,这非常简单。只需忽略该href
属性。
<a>Do Nothing</a>
href
这是用于定义超文本源链接的锚的唯一必需属性,但在HTML5中不再需要。
对于a
带有no的标签,浏览器的默认样式可能不会将光标更改为指针href
。您可以使用以下CSS进行通用更改。
但是,最好对其进行更多选择,并将其仅应用于要向其中添加事件处理程序的元素。
只需添加tabindex="0"
到元素。
<a tabindex="0">Do Nothing</a>
a
没有链接的标签是否有意义?通常不行,最好改用button
元素,然后用CSS设置样式。但是无论您使用什么,都尽量避免使用任意元素div
,因为这根本不是语义。
不要将其设为链接(尽管更喜欢这样做),并不要使用CSS对其进行样式设置,以使其看起来像一个链接:
p.not-a-link { text-decoration: underline; cursor: pointer }
甚至更好的方法是使其成为一个链接,并使用e.preventDefault()
用于阻止该链接的javascript函数。
href
还将链接添加到,以便未启用JS的用户仍可以使用它(作为后备)。
<a href="javascript:;">Link text</a>
-那就是我通常使用的
void(0)
,它更可取,因为它显示在状态栏中。我这么说是因为我已经将用户标记为错误/错误(显然不是),所以我认为拥有它会使他们感到困惑。
我们可以使用javascript void实现这一点,它通常涉及对表达式的求值并返回undefined,其中包括添加javascript:void(0);
href。
void运算符通常仅用于获取未定义的原始值,通常使用“ void(0)”(等效于“ void 0”)。在这些情况下,可以改用undefined全局变量(假设尚未将其分配给非默认值)。
a {
text-decoration: initial;
}
<a href="javascript:void(0);"> This link actually does nothing when clicked</a>
something.com/whatever/#
?