第一个示例不起作用。我需要始终有一个列表来禁用链接吗?还是我的第一个演示有什么问题?
<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>
Answers:
我认为您需要btn类。
就像这样:
<a class="btn disabled" href="#">Disabled link</a>
btn-link
来保持链接的外观。
btn-link
disabled
不能正常工作,因为pointer-events: none;
未应用(Bootstrap 3)
p-0
。您可能还需要删除聚焦时添加的轮廓:stackoverflow.com/questions/19053181/…–
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');
});
我刚刚从要禁用的锚标记中删除了“ href”属性
$('#idOfAnchorTag').removeAttr('href');
$('#idOfAnchorTag').attr('class', $('#idOfAnchorTag').attr('class')+ ' disabled');