Javascript 单击按钮并在jquery中检测其状态

Javascript 单击按钮并在jquery中检测其状态,javascript,jquery,Javascript,Jquery,我有一个按钮,如下所示: <a class="btn btn-sm btn-danger employee" data-emp_id="23" href="javascript:void(0)" disabled>Resign</a> $(document).on('click', 'a.employee:not(:disabled)', function(e){ var empID = $(this).data('emp_id'); alert('here'

我有一个
按钮
,如下所示:

<a class="btn btn-sm btn-danger employee" data-emp_id="23" href="javascript:void(0)" disabled>Resign</a>
$(document).on('click', 'a.employee:not(:disabled)', function(e){
  var empID  = $(this).data('emp_id');
  alert('here');
});
我也试过这样的方法:

<a class="btn btn-sm btn-danger employee" data-emp_id="23" href="javascript:void(0)" disabled>Resign</a>
$(document).on('click', 'a.employee:not(:disabled)', function(e){
  var empID  = $(this).data('emp_id');
  alert('here');
});
但是,这两个都不是为我工作。。 希望有人能帮助我。 谢谢。

已禁用,因此不是锚定标记的属性

这样试试

$(document).on('click', 'a.employee[disabled])', function(e){
  var empID  = $(this).data('emp_id');
  alert('here');
});

您不能禁用锚元素,向其添加
disabled
属性将意味着您的HTML无效

要解决这个问题,您可以简单地向元素添加一个类,并在该元素上键入click行为。试试这个:

$(文档)。在('click','a.employee',函数(e){
e、 预防默认值();
var empID=$(this).data('emp_id');
if($(this).hasClass('disabled')){
console.log('message1');
}否则{
console.log('message2');
}
});
。已禁用{
颜色:#CCC;
}


谢谢您的回答。你能告诉我在
a
标记的
href
属性中使用
javascript:0
有什么问题吗?它很难看,过时,而且没有很好的关注点分离。如果在JS代码中放置
preventDefault()
,那么所有的JS都在一个地方,而不是分散在整个项目中