你如何使锚点链接不可点击或禁用?
我有一个锚链接,我想要禁用一旦用户点击它。 或者,从文字周围移除锚标记,但一定要保留文字。
<a href='' id='ThisLink'>some text</a>  我可以通过添加.attr("disabled", "disabled");轻松实现.attr("disabled", "disabled"); 
 我成功添加了禁用的属性,但链接仍然是可点击的。 
 我不在乎文本是否带下划线。 
任何线索?
你可以在这里试试看: http : //www.awesomealbums.info/?WhoAmI
 当你点击错误的音乐家,它应该只是添加“错误”,然后变得不可点击。 
 当你点击,你是正确的,它应该添加“真棒”,然后禁用所有的<a>标签。 
我刚刚意识到你所要求的(我希望)。 这是一个丑陋的解决scheme
 var preventClick = false; $('#ThisLink').click(function(e) { $(this) .css('cursor', 'default') .css('text-decoration', 'none') if (!preventClick) { $(this).html($(this).html() + ' lalala'); } preventClick = true; return false; }); 
最简洁的方法是当你想禁止点击时,添加一个类与指针事件:无。 它的function就像一个普通的标签。
 .disableClick{ pointer-events: none; } 
 <a href='javascript:void(0);'>some text</a> 
select的答案不好。
使用指针事件的 CSS样式。 (正如Jason MacDonald所build议的)
请参阅MDN https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events 。 它在大多数浏览器中都支持。
如果你有像下面这样的全局CSS规则,简单地添加“禁用”属性到锚点将完成这项工作:
 a[disabled], a[disabled]:hover { pointer-events: none; color: #e1e1e1; } 
 $('a').removeAttr('href') 
要么
 $('a').click(function(){ return false}) 
这取决于情况
 添加一个css类: 
 .disable_a_href{ pointer-events: none; } 
 添加这个jquery : 
 $("#ThisLink").addClass("disable_a_href"); 
 最好的方法是防止默认操作。 在锚标签的情况下,默认行为是redirect到href指定的地址。 
所以下面的JavaScript效果最好的情况下:
 $('#ThisLink').click(function(e) { e.preventDefault(); }); 
 只需从锚标记中删除href属性即可。 
  Bootstrap为我们提供了.disabled类。 请使用它。 
 但是.disabled类只有在'a'标签已经具有类'btn'时才起作用。 它不适用于任何旧的“a”标签。 在某些情况下,“btn”类可能不合适,因为它具有风格的内涵。 在封面下,.disabled类将指针事件设置为none,所以你可以让CSS做和Saroj Aryal和Vitrilo一样的东西。  (谢谢Les Nightingill的build议)。 
您可以使用onclick事件来禁用点击操作:
 <a href='' id='ThisLink' onclick='return false'>some text</a> 
 或者你可以只使用<a>标签以外的东西。 
在样式表中创build以下类:
  .ThisLink{ pointer-events: none; cursor: default; } 
添加这个类到你dynamic链接如下。
  <a href='' id='elemID'>some text</a> // or using jquery <script> $('#elemID').addClass('ThisLink'); </script> 
贾森麦克唐纳评论为我工作,在Chrome,Mozila和IEtesting。
添加灰色显示禁用效果。
 .disable_a_href{ pointer-events: none; **color:#c0c0c0 !important;** } 
  jquery只select锚点列表中的第一个元素,添加了元字符(*)来select和禁用所有id为#ThisLink元素。 
 $("#ThisLink*").addClass("disable_a_href"); 
尝试这个:
 $('a').contents().unwrap(); 
只需在SASS:
 .some_class{ // styles... &.active { pointer-events:none; } } 
这是我用来禁用的方法。希望它有帮助。
 $("#ThisLink").attr("href","javascript:void(0)"); 
写这个单行的jQuery代码
$('.hyperlink').css('pointer-events','none');
如果你想写在CSS文件
.hyperlink{ poniter-events:none }
 $('#ThisLink').one('click',function(){ $(this).bind('click',function(){ return false; }); }); 
 这将是另一种方式来做到这一点,处理程序与return false ,这将禁用链接,将被添加后点击一下。 
最简单的方法
在你的html:
 <a id="foo" disabled="true">xxxxx<a> 
在你的js中:
 $('#foo').attr("disabled", false); 
如果你使用它作为属性完美的作品