Jquery 禁用链接

Jquery to disable links

我的页面有几个 links 和 linked 按钮。我想禁用所有。我该怎么做?

<div id="content-main">
  <h1>My Notes</h1>

  <a href="edit.html" id="btnNew" name="btnNew" class="button">Add new Link</a>

  <table border="0" cellspacing="0" cellpadding="4">
    <tr bgcolor="#edf3fe">
      <td><a href="edit.html">Link 1</a></td>
      <td><a href="edit.html">Link 2</a></td>
    </tr>
  </table>
  <div class="button-row"></div>
</div>

我尝试了以下方法,但效果是 link 不再有效,但我也想淡化 link。

$(document).ready(function(){


    $( "a" ).click(function( event ) {
        alert( "The link will no longer work" );
        event.preventDefault();
    });

}); }

这个怎么样?

$(document).ready(function(){
    $("a").click(function(event){
      event.preventDefault();
        $("a").fadeOut();
    });
});

就像你说的,如果用户点击任何链接,所有链接都会淡出。这是你想要的吗?

你可以使用这个:

$(document).ready(function(){ 
    $( "a" ).click(function( event ) {
       $(this).fadeOut();
       event.preventDefault();
    });
});

希望对您有所帮助!

如果您想让它们变灰,请试试这个。基于以上回答:

$(document).ready(function(){
   $("a").click(function($event){
   var $this = $(this);
       $event.preventDefault();
       $this.css("color", " #808080"); //only targets the actual link clicked. If you want all when you click any link use $('a').css();
   });
});

顺便说一句,给新手的忠告,我总是这样做的一个好习惯,通过制作任何前缀为“$”的jQuery对象变量。当您开始执行 multi-level 上下文函数时很容易。

不是 100% 相关,但我花了一段时间才找到这个技巧。如果你的 HTML 看起来像这样

<a id="myLink" href="http://takemesomewhere.com" class="underlineHoverOnly">link text</a>

那么你可以拿走 link 只需:

$('#myLink').removeAttr('href');

您还可以在悬停时停止 link 下划线:

$('#myLink').removeAttr('class');