0

入力を無効にして、次のコードで選択します。

 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');  
   });
 });
4

3 に答える 3

1

クリック機能に開閉括弧がありません:

   $(elements[element]).click(function() {

2つの機能を組み合わせてみませんか?

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

bind-to-click-function を set-attribute 関数の最後にチェーンしているため、各ループを複数回実行する必要はありません。

于 2012-10-08T15:55:26.107 に答える
0

クリックなどのマウスイベントは Disabled Elementsでは機能しないと思います。

コードが必要な場合は、このように記述できます...ただし、無効な要素では起動しません。

無効ではなくtrueを確認してください。

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

    $('[id^="lbl"]').on('click', function(){
        if( $(this).attr('disabled') === true){
              alert('DISABLED');
          }
    });
  });

$.each ループ内でクリック イベントを割り当てる必要はありません。

id^=lblを使用してイベントを直接割り当てることができます。これは、ID が lbl で始まるすべての要素をチェックします。

于 2012-10-08T15:54:29.083 に答える
0

無効にするすべての要素にクラスを配置すると、これは非常に簡単になります。これをワンライナーに変えることができます。

$(".disabled-element").prop("disabled", true);

ラベルが無効になっているかどうかを確認するには、ループも必要ありません。

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

フォーム要素はほとんどのブラウザーでクリック イベントを発生させませdisabledんが、ラベルは問題ないはずです。

于 2012-10-08T15:55:09.910 に答える