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是的。我在最初发布答案后才在答案中提到:-