2011-01-09 11 views
1

以下を考慮して、クリック時に無効な要素を有効にするにはどうすればよいですか?無効なオブジェクトのmousedown/clickイベントをどのように使用しますか?

$("element").click(function(){ 
    //enable element 
}); 
+2

がされている要素であり、クリックされたものと同じ "有効"ですか? – user113716

+0

可能な複製:http://stackoverflow.com/questions/3100319/jquery-event-on-a-disabled-input –

+1

@patrick - はい、クリックする要素は有効にする必要があります。 – Babiker

答えて

3

私が思い付くことができる最高は次のとおりです。

$('label').click(
    function(){ 
     $(this).next(':disabled').removeAttr('disabled'); 
    }); 

無効の要素自体は、少なくともクローム8/Ubuntuの10.10で、イベントをクリックして応答しませんので。

これはもちろん、labelが無効な要素に先行していると仮定します。現在の形式では、そのラベルが次に無効になった要素に対応することを確認しません。

JS Fiddle demo of the above

$('label').click(
    function(){ 
     var relevantInput = $(this).attr('for'); 
     $('#' + relevantInput) 
      .removeAttr('disabled'); 
    }); 

JS Fiddle demo