Jquery 单击禁用的标记时发出警报

Jquery 单击禁用的标记时发出警报,jquery,Jquery,我禁用任何输入并使用此代码选择: var elements = ['#lbl1' ,'#lbl2','#lbl3','#lbl4','#lbl5','#lbl6','#lbl7']; jQuery.each(elements, function(element) { $(elements[element]).attr('disabled', true); }); 现在,我想知道如果用户单击用户的禁用标签警报: var elements = ['#lbl1' ,'#lbl2

我禁用任何输入并使用此代码选择:

 var elements = ['#lbl1' ,'#lbl2','#lbl3','#lbl4','#lbl5','#lbl6','#lbl7'];
 jQuery.each(elements, function(element) {
     $(elements[element]).attr('disabled', true);   
 });
现在,我想知道如果用户单击用户的禁用标签警报:

var elements = ['#lbl1' ,'#lbl2','#lbl3','#lbl4','#lbl5','#lbl6','#lbl7'];
 jQuery.each(elements, function(element) {
   $(elements[element]).click(function{
   if ( $(elements[element]).attr() == 'disabled')  alert('DISABLED');  
   });
 });

我认为像点击这样的鼠标事件对禁用的元素不起作用

如果你想要代码,可以这样写。。。但它不会对禁用的元素开火

检查是否为真而不是禁用

  $(function() {
    $('[id^="lbl"]').attr('disabled', true);

    $('[id^="lbl"]').on('click', function(){
        if( $(this).attr('disabled') === true){
              alert('DISABLED');
          }
    });
  });
您不需要在$.each循环内分配click事件


您可以使用id^=lbl直接分配事件,它检查id以lbl开头的所有元素。

如果您在所有要禁用的元素上放置一个类,这将非常容易。然后你可以把它变成一行

$(".disabled-element").prop("disabled", true);
要检查标签是否已禁用,则不需要循环:

$(".disabled-element").click(function() {
    if ($(this).prop("disabled")) {
        alert("disabled");
    }
});

请注意,尽管禁用的
表单元素在大多数浏览器中不会引发单击事件,但标签应该是可以的。

您缺少单击函数的开/关括号:

   $(elements[element]).click(function() {
为什么不把这两种功能结合起来呢

var elements = ['#lbl1' ,'#lbl2','#lbl3','#lbl4','#lbl5','#lbl6','#lbl7'];
 jQuery.each(elements, function(element) {
     $(elements[element]).attr('disabled', true).click(function(){
        alert('DISABLED');
     });
 });

因为您将绑定到单击函数链接到set attribute函数的末尾,所以不需要多次运行each循环

你将他的所有元素设置为禁用,而不是检查它是否禁用。他在第一个循环中这样做。在第二个循环中,它们都应该被禁用。。也许这就是他想要的。。我甚至不确定这段代码是否对我有用:
$('[id^=“lbl”]').prop(“disabled”,true)$('[id^=“lbl”]')。单击(function(){if($(this).prop(“disabled”){alert(“disabled”);})我正在使用jquery-1.8.2,但是.prop属性在我的代码中不起作用。当字段被禁用时,单击事件现在将不起作用,
$('[id^=“lbl”]')。在('click',function(){
对我不起作用,为什么?