如何将mousedown / click事件用于禁用的对象?

时间:2011-01-09 00:51:24

标签: javascript jquery javascript-events

考虑以下内容,如何在点击时启用已禁用的元素?

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

2 个答案:

答案 0 :(得分:3)

我能想到的最好的是:

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

由于禁用元素本身没有,至少在Chrome 8 / Ubuntu 10.10中,响应点击事件。

当然,这确实假设label在禁用元素之前,并且不以当前形式检查标签是否与下一个禁用元素相对应。

JS Fiddle demo of the above


已修改以修改此方法,因此点击label只会影响相关的input

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

JS Fiddle demo

答案 1 :(得分:0)