禁用并启用点击代码

时间:2019-01-18 10:13:40

标签: javascript jquery

添加类后,我们可以禁用a标记并启用它吗? 像这样的东西:

$('a').on('click', function(e) {

  e.preventDefault();
  e.stopPropagation();
  $(this).addClass('ajax-link').attr('rel', '#content')
  $(this).animate({
    'top': '100px',
  })
  // want to re-enable it and do the normal behaviour
  $(this).trigger('click')
  return true
})

2 个答案:

答案 0 :(得分:3)

您可以这样做:

$('a').on('click', function(e) {

  e.preventDefault();
  e.stopPropagation();

  $(this).addClass('ajax-link')

  window.location.href = $(this).attr('href')
})
.ajax-link {
  color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<a href="https://google.com">Test</a>

基本上,您会阻止锚的默认操作,使点击无法进行,然后添加该类并手动将用户发送到链接。

我敢肯定,还有许多其他方法可以满足您的要求,这只是简单直观的方法之一。

答案 1 :(得分:0)

您可以添加css属性pointer-events: none;,如下所示。

$('a').on('click', function(e) {
//alert();
  e.preventDefault();
  e.stopPropagation();
  $(this).addClass('disabled');  
  
  // window.location.href = $(this).attr('href')
  });
a.disabled {
   pointer-events: none;
   cursor: default;
    color:#D3D3D3;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="myClass">
   <a href="https://www.google.com/" >Hello My Click</a>   
</div>

`