第一个例子没有起作用。 我需要始终使用列表来禁用链接吗? 或者我的第一个演示有什么问题?
<a class="disabled" href="#">Disabled link</a>
<ul class="nav nav-pills">
...
<li role="presentation" class="disabled"><a href="#">Disabled link</a></li>
...
</ul>
第一个例子没有起作用。 我需要始终使用列表来禁用链接吗? 或者我的第一个演示有什么问题?
<a class="disabled" href="#">Disabled link</a>
<ul class="nav nav-pills">
...
<li role="presentation" class="disabled"><a href="#">Disabled link</a></li>
...
</ul>
我认为你需要使用btn类。
像这样:
<a class="btn disabled" href="#">Disabled link</a>
btn-link
,以保持链接的外观。 - Jacob van Lingenbtn-link
disabled
无法正常工作,因为 pointer-events: none;
没有被应用(Bootstrap 3)。 - user764754p-0
来删除btn添加的填充。您可能还想在聚焦时删除轮廓:https://dev59.com/PWIk5IYBdhLWcg3wr_9o - noamyg看起来Bootstrap不支持禁用的链接。你可以自己添加一个类并为其添加样式,而不是尝试添加Bootstrap类,就像这样:
似乎 Bootstrap 不支持禁用的链接,您可以尝试自行添加一个类并添加一些样式,就像下面这样:
a.disabled {
/* Make the disabled links grayish*/
color: gray;
/* And disable the pointer events */
pointer-events: none;
}
<!-- Make the disabled links unfocusable as well -->
<a href="#" class="disabled" tabindex="-1">Link to disable</a><br/>
<a href="#">Non-disabled Link</a>
我刚刚使用CSS创建了自己的版本。由于需要禁用,因此在文档准备就绪时使用jQuery使其激活。这样用户在文档准备就绪之前无法单击按钮。因此,我可以使用AJAX进行替代。我想出的方法是向锚点标记本身添加一个类,并在文档准备就绪时删除该类。你可以根据自己的需求重新利用这个方法。
CSS:
a.disabled{
pointer-events: none;
cursor: default;
}
HTML:
<a class="btn btn-info disabled">Link Text</a>
JS:
$(function(){
$('a.disabled').on('click',function(event){
event.preventDefault();
}).removeClass('disabled');
});
<a href="/" onclick="return false;">123n</a>
你无法将链接设置为“禁用”,只能禁用像输入框、文本框等系统元素。
但是,你可以通过 jQuery/JavaScript 禁用链接。
$('.disabled').click(function(e){
e.preventDefault();
});
感谢@jacob-van-lingen的评论,您可以在全局样式中扩展.btn-link
a.disabled{
@extend .btn-link
}
$('#idOfAnchorTag').removeAttr('href');
$('#idOfAnchorTag').attr('class', $('#idOfAnchorTag').attr('class')+ ' disabled');
请使用class="pe-none"。
在这里找到Bootstrap链接。
<a class="btn btn-outline-primary pe-none" target="_blank" href="#" role="button">Open</a>
我喜欢Sercan的答案,并在其中添加了一个小jQuery,以便在单击时也不会跟随链接:
$(document)
.on("click",
"a.disabled",
function () {
return false;
});
并且针对上面的答案外观:
.disabled {
color: currentColor;
cursor: not-allowed;
opacity: 0.5;
text-decoration: none;
}