尽管该链接被禁用,但它仍然是可点击的。
<a href="/" disabled="disabled">123n</a>
如果它是禁用的,我可以使它不可点击吗?我应该使用JavaScript吗?
尽管该链接被禁用,但它仍然是可点击的。
<a href="/" disabled="disabled">123n</a>
如果它是禁用的,我可以使它不可点击吗?我应该使用JavaScript吗?
超链接没有disabled属性。如果你不想要某些东西被链接,那么你需要移除<a>标签。
或者,你可以删除它的href属性-尽管这有其他的用户体验和可访问性问题,在下面的评论中指出,所以不建议。
<a>标签没有禁用属性,这只是为<input>s(和<select>s和<textarea>s)。
要“禁用”一个链接,你可以删除它的href属性,或者添加一个返回false的点击处理程序。
$(document).ready(function() {
$('a').click(function(e) {
e.preventDefault();
});
});
适合我的变体:
<script>
function locker(){
if ($("a").hasClass("locked")) {
$("a").removeClass('locked').addClass('unlocked');
$("a").attr("onClick","return false");
} else {
$("a").css("onclick","true");
$("a").removeClass('unlocked').addClass('locked');
$("a").attr("onClick","");
}
}
</script>
<button onclick="locker()">unlock</button>
<a href="http://some.site.com" class="locked">
<div>
....
<div>
</a>
您可以使用以下解决方案之一:
HTML
<a>link</a>
JavaScript
<a href="javascript:function() { return false; }">link</a>
<a href="/" onclick="return false;">link</a>
CSS
<a href="www.page.com" disabled="disabled">link</a>
<style type="text/css">
a[disabled="disabled"] {
pointer-events: none;
}
</style>
在css的帮助下,您将禁用超链接。试试下面的方法
a.disabled { pointer-events:没有; 光标:违约; } <a href=" Link .html" class="disabled">Link</a> .html
当您将鼠标移到href标签上时,href标签中的任何内容都将显示在浏览器窗口的左下角。
我个人认为像javascript:void(0)这样的东西显示给用户是可怕的。
相反,关闭href,使用jQuery/其他工具,添加一个样式规则(如果你仍然需要它看起来像一个链接):
a {
cursor:pointer;
}
HTML:
<a href="/" class="btn-disabled" disabled="disabled">123n</a>
CSS:
.btn-disabled,
.btn-disabled[disabled] {
opacity: .4;
cursor: default !important;
pointer-events: none;
}
你可以通过返回false来禁用锚标记。在我的情况下,我使用angular和ng-disabled的Jquery手风琴,我需要禁用部分。
所以我创建了一个小js片段来解决这个问题。
<a class="opener" data-toggle="collapse"
data-parent="#shipping-detail"
id="shipping-detail-section"
href="#shipping-address"
aria-expanded="true"
ng-disabled="checkoutState.addressSec">
Shipping Address</a>
<script>
$("a.opener").on("click", function () {
var disabled = $(this).attr("disabled");
if (disabled === 'disabled') {
return false;
}
});
</script>
让父类有指针事件:none将禁用子类a标签,如下所示(要求div覆盖a并且宽度/高度不为0):
<div class="disabled">
<a href="/"></a>
</div>
地点:
.disabled {
pointer-events: none;
}
您可以在<a>标记上模拟禁用属性。
<a href=" Link .html" disabled="">Link</a> .html
a[disabled] {
pointer-events: none;
cursor: default;
}
如果你只是想暂时禁用链接,但留下href在那里启用以后(这是我想做的),我发现所有的浏览器使用第一个href。因此,我能够这样做:
<a class="ea-link" href="javascript:void(0)" href="/export/">Export</a>
正确使用按钮和链接。
•按钮激活网页上的脚本功能(对话框,展开/折叠区域)。
•链接带你到另一个位置,无论是到不同的页面或同一页面上的不同位置。
如果你遵循这些规则,就不会出现任何需要禁用链接的情况。即使你让一个链接看起来视觉残疾和空白点击
<a href=“” ng-click=“Ctrl._isLinkActive &&$ctrl.gotoMyAwesomePage()”
你不会考虑可访问性,屏幕阅读器会将其视为链接,视力受损的人会一直好奇为什么链接不起作用。
<a href=“/” disabled=“true” onclick=“return false”>123</a>
只是补充:这在一般情况下工作,但它不会工作,如果用户已经在浏览器中禁用javascript。
1)你可以选择在你的锚标签上使用Bootstrap 3类来禁用href标签,在集成Bootstrap 3插件do之后
< href=“btn btn-primary disabled”>123n</a>
Or
2)学习如何在浏览器中使用html或js启用javascript。 或者创建一个弹出窗口,告诉用户在使用网站之前启用javascript
我们不能直接禁用它,但我们可以这样做:
添加类型=“按钮”。 删除href=""属性。 添加disabled属性,这样它就会显示通过更改游标而禁用游标并使游标变暗。
PHP的例子:
<?php
if($status=="Approved"){
?>
<a type="button" class="btn btn-primary btn-xs" disabled> EDIT
</a>
<?php
}else{
?>
<a href="index.php" class="btn btn-primary btn-xs"> EDIT
</a>
<?php
}
?>
提示1:使用CSS指针事件:无;
JavaScript:void(0) (这是一个最佳实践)
<a href="javascript:void(0)"></a>
使用Jquery $('selector').attr("disabled","disabled");
如果你正在使用WordPress,我创建了一个插件,可以做到这一点,而且不需要知道如何编码任何东西。你所需要做的就是添加你想要禁用的链接的选择器,然后从出现的下拉菜单中选择“在新选项卡中禁用使用此选择器的所有链接”,然后单击更新。
点击这里查看演示这一点的动图
你可以从WordPress.org插件库中获得免费版本来尝试一下。
我能够使用ng-href三元操作实现所需的结果
<a ng-href="{{[condition] ? '' : '/'}}" ng-class="{'is-disabled':[condition]}">123n</a>
在哪里
a.is-disabled{
color: grey;
cursor: default;
&:hover {
text-decoration: none;
}
}
以下是禁用a标记的各种方法:
<a >链接文本</a>从锚标签中移除href <a href= " javascript:void(0) " />链接文本</a>在href中放入javascript:void(0) <a href="/" onclick="return false;">链接文本</a>使用返回false 因为锚标签没有被禁用的属性。 如果你想在jQuery函数中停止锚标记行为,你可以在函数的开头使用下面的行:
$( "a" ).click(function( e ) {
e.preventDefault();
$( "<div>" )
.append( "default " + e.type + " prevented" )
.appendTo( "#log" );
});
event.preventDefault ()
我看到这里已经贴出了大量的答案,但我不认为有任何明确的答案可以将前面提到的方法结合到我发现的有效方法中。这是为了使链接既显示为禁用,也不会将用户重定向到另一个页面。
这个答案假设你正在使用jquery和bootstrap,并使用另一个属性临时存储href属性,而禁用。
//situation where link enable/disable should be toggled
function toggle_links(enable) {
if (enable) {
$('.toggle-link')
.removeClass('disabled')
.prop('href', $(this).attr('data-href'))
}
else {
$('.toggle-link')
.addClass('disabled')
.prop('data-href', $(this).prop('href'))
.prop('href','#')
}
a.disabled {
cursor: default;
}
最好的答案总是最简单的。不需要任何编码。
如果(a)锚标记没有href属性,它只是一个超链接的占位符。所有浏览器均支持!
<a href="/">空闲web计数器</a><br /> <a "/">空闲web计数器</a> .
有一种简单干净的方法:
<a href="/shopcart/">
<button class="btn" disabled> Make an Order </button>
</a>
默认情况下,在<button>上禁用属性不会让点击通过<button>元素直到<a>元素。所以<a>元素甚至不知道发生了一些点击。通过在<button>上添加/删除禁用属性进行操作。
如果你需要用Javascript禁用laravel上的链接,这是我的解决方案:
链接(blade.php):
<a href='/link/to/path' class='btn btn-primary mt-3' onclick='disableLink(this)'>Confirmar</a>
. css文件
.isDisabled {
cursor: not-allowed;
opacity: 0.5;
}
a[aria-disabled="true"] {
color: currentColor;
display: inline-block; /* For IE11/ MS Edge bug */
pointer-events: none;
text-decoration: none;
}
.js文件
function disableLink(link) {
// 1. Add isDisabled class to parent element
link.parentElement.classList.add('isDisabled');
// 2. Store href so we can add it later
link.setAttribute('data-href', link.href);
// 3. Set aria-disabled to 'true'
link.setAttribute('aria-disabled', 'true');
}
function enableLink(link) {
// 1. Remove 'isDisabled' class from parent span
link.parentElement.classList.remove('isDisabled');
// 2. Set href
link.href = link.getAttribute('data-href');
// 3. Remove 'aria-disabled', better than setting to false
link.removeAttribute('aria-disabled');
}
参考:https://css-tricks.com/how-to-disable-links/