按钮禁用/启用onclick

时间:2014-01-02 10:57:42

标签: javascript jquery

我有两个这样的按钮:

$body .= '<a href="#" onclick="check();" id="check">Check </i></a>';
$body .= '<a  href="#" onclick="continue();" id="cont">Continue </a>';

如果用户没有点击“检查”按钮,我希望“继续”按钮被禁用。

我有这个:

    $('#cont').click(function(){return false; });
$('#check').click(function() {
    $('#cont').unbind('click');
});

但是,当我点击“继续”按钮(点击检查之前)时,href不起作用,但是onclick正常工作!如何使用href禁用onclick。谢谢

4 个答案:

答案 0 :(得分:1)

你可以用这个

$body .= '<a href="#" onclick="check();" id="check">Check</a>';
$body .= '<a  href="#" onclick="continue();" id="cont" disabled>Continue </a>';

和jquery代码

 $(document).ready(function(){
    $('[name^="check"]').change(function() {   
        if( $('#cont').prop('disabled'))
         $('#cont').prop('disabled',false);
        else
            $('#cont').prop('disabled',true);
    });    

});

您可以使用此链接http://jsfiddle.net/DC3EH/101/

答案 1 :(得分:0)

您可以使用jQuery's onoff。请检查此fiddle

答案 2 :(得分:0)

从两个按钮中删除onclick属性并使用下面的代码(如果有效)

最初禁用继续按钮

$body .= '<a href="#" id="check">Check</a>';
$body .= '<a  href="#" id="cont" disabled="disabled">Continue </a>';

$('#check').click(function(e) {
   e.preventDefault();
   $('#cont').prop({disabled:false});
});

答案 3 :(得分:0)

我的HTML:

<a href="#" onclick="check();" id="check">Check </i></a>
<a href="#" onclick="continueX();" id="cont">Continue </a>

我的JS:

function check(){
    //console.log('Check >>>');
    //Whatever you run...
}

function continueX(){
    //console.log('continue >>>');
    //Whatever you run...
}

$('#cont').each(function(){
    //block clicking:
    $(this).click(function(e){e.preventDefault(); return false});

    //Store its current inline onclick property;
    $(this).data('onclick', this.onclick);

    //add a class to identify itself:
    $(this).addClass('disabled');

    //Re-define it:
    this.onclick = function(event) {
        //Restrict click if it has disabled class:
        if( $(this).hasClass('disabled') ){
            return false;
        };

        //otherwise, call inline onclick:
        $(this).data('onclick').call(this, event || window.event);
    };
});

$('#check').click(function(){
    //now allow click:
    $('#cont').unbind('click').removeClass('disabled');
});