0

我有一些jQuery代码,见下文:

$(function(){
    $('button#submit').button({disabled:true});
    $('button#submit').click(function(){
        console.log('It works!');
    });
    $('a#button-enable').click(function(){
        $('button#submit').button({disabled:false});
    });
});

如果未单击带有 id 的链接button-enable,则必须禁用该按钮。之后必须启用该按钮,如果我单击它,则必须在控制台中输出文本It works!。为什么没有发生?

当我从 iframe 启用按钮时会发生这种情况。

4

3 回答 3

0

谢谢大家的答案。我通过以下方式解决了这个问题:

父.html

$(function{
    $('button, input[type="submit"]').button();
    $('button#submit').button('disable');
    $(document).bind('enableButton',function(){
        $('button#submit').button('enable');
    });
    $('button#submit').click(function(){
        //...
    });
});

iframe.html

$(function(){
    //...
    parent.$(parent.document).trigger('enableButton');
});
于 2012-05-08T20:46:09.463 回答
0

尝试

$(function(){
    $('button#submit').button("option", "disabled", true );
    $('a#button-enable').click(function(){
        $('button#submit').button("option", "disabled", false);
        $('button#submit').click(function(){
            alert('It works!');
        });
    });
});

这是来自http://jqueryui.com/demos/button/#option-disabled

这是一个jsfiddle:http: //jsfiddle.net/tmx8t/

于 2012-05-08T15:22:51.330 回答
0

我已经清理了你的代码,并让它像你描述的那样工作。

$(function() {
    var button = $('#submit').button({
        disabled: true
    }).click(function() {
        alert('It Works');
    });
    $('#button-enable').click(function() {
        button.button('enable');
    });
});​

在这里查看小提琴

于 2012-05-08T15:54:30.957 回答