Javascript jQuery如果禁用-不工作

Javascript jQuery如果禁用-不工作,javascript,jquery,Javascript,Jquery,我需要检查选择器是否在单击时被禁用 <a href="#" class="btn btn-primary sendOrderToSage" data-id="97" disabled="disabled">Send To Sage</a> 我还尝试了$'。sendOrderToSage:not:disabled'。。。。。但这与上述尝试的结果相同。禁用的属性/属性对输入、选择等元素有效。 在锚定标记中,“禁用”只是另一个属性。所以如果你想得到它,你需要使用 $'.se

我需要检查选择器是否在单击时被禁用

<a href="#" class="btn btn-primary sendOrderToSage" data-id="97" disabled="disabled">Send To Sage</a>
我还尝试了$'。sendOrderToSage:not:disabled'。。。。。但这与上述尝试的结果相同。

禁用的属性/属性对输入、选择等元素有效。 在锚定标记中,“禁用”只是另一个属性。所以如果你想得到它,你需要使用

$'.sendOrderToSage'。单击,函数E{ e、 防止违约; 如果$this.attr'disabled'=“disabled”{ 返回false; } /*连续函数*/ };
您的代码的问题是一个元素。disabled是的无效属性

如果您想在a元素上有一个属性,指示它不应该是可单击的,那么您唯一有效的HTML选项就是使用a。然后,您可以通过以下方式禁用它:

$(".sendOrderToSage").attr("data-disabled", "Y");
$(".sendOrderToSage").removeAttr("data-disabled");
并通过以下方式启用它:

$(".sendOrderToSage").attr("data-disabled", "Y");
$(".sendOrderToSage").removeAttr("data-disabled");
您的单击功能将变为:

$('.sendOrderToSage').on('click', function(e) {
  e.preventDefault();
  if ($(this).attr('data-disabled')) {
    return false;
  }
  /* Continue function */
});
实例:

$'.sendOrderToSage'。单击,函数E{ e、 防止违约; 如果$this.attr'data-disabled'{ 警报停止; 返回false; } /*连续函数*/ }; $document.body.onclick,a.sendOrderToPage,函数{ alertClick没有停止; }; $togglebox.onclick,函数{ 如果这个被选中了{ $.sendOrderToSage.attrdata-disabled,Y; }否则{ $.sendOrderToSage.removeAttrdata-disabled; } }; 禁用链接
Re过于复杂:$'.sendOrderToSage'。单击时,函数{if this.disabled{return false;}/*continue function*/};。没有理由使用jQuery检查它是否被禁用,也没有理由在条件中使用==true。不幸的是,即使这样也不起作用。@t.J.Crowder。。。请注意,这是一个最小的方法,它仍然不起作用。MCVE进入问题,而不仅仅是链接。但实际上,我只是忽略了你误用了disabled属性;我的答案解释了发生了什么以及如何正确处理。我已经阅读了你的答案,意识到了我所犯的错误,我已经纠正了我的编码错误,并学到了宝贵的一课。谢谢你,已经修好了。我尝试了attr'disabled'==true,但没有尝试=='disabled'。现在有道理了@克劳德。。。问题是,它不起作用。不管尝试了什么。@T.J.Crowder我想你没有注意到$this.is':disabled'总是retunrs false。请看这个@RejithRKrishnan:我刚刚注意到OP的代码使用的是一个,不能禁用。@T.J.Crowder是的。我在最初发布答案后才在答案中提到:-