如何使用jQuery启用禁用链接按钮样式和事件

时间:2012-11-23 11:29:43

标签: jquery

我有一个链接按钮,当按下它时显示确认窗口功能:

$('#LinkButton1').click(function () {
     var continue = confirm('¿CONTINUE?');
    if (continue) {
        return true;
    }
    else
        return false;
});

我想在页面加载时禁用链接按钮,它的样式和它的clic事件:

 $('#LinkButton1').attr("disabled", "disabled").on('click', function (e) {
    e.preventDefault()
 });

链接按钮被禁用,onclic服务器事件被删除,但提示仍然显示。

当用户在文本框中键入内容时,应该再次启用此按钮并获取以前未绑定的clic事件:

 $(':input').keypress(function () {
    $('#LinkButton1').removeProp('disabled').off('click');
});

这会收回服务器onclic事件,但我现在错过了确认窗口。

DEMO: http://jsfiddle.net/Tvbg9/3/ 在这个演示中,确认窗口没有显示,但我仍然在我的页面中看到。

我做错了什么? 谢谢。

4 个答案:

答案 0 :(得分:0)

而不是使用此

        $('#LinkButton1').attr("disabled","")

你可以试试这个

    $('#LinkButton1').removeAttr("disabled")

希望它能够运作

答案 1 :(得分:0)

请尝试以下操作以禁用按钮

$('#LinkButton1').click(function() { return false; });

然后输入:

$('input').change(function () {
    if ($(this).val().length > 0)
        $('#LinkButton1').unbind('click');
});​

希望这有帮助!

答案 2 :(得分:0)

这是要走的路:

http://jsfiddle.net/Tvbg9/

$('#LinkButton1').on('click',function(e){e.preventDefault()});

    $(':input').keypress(function () {
        $('#LinkButton1').off('click');
    });​

答案 3 :(得分:0)

如果在任何文本框上按任何键,我只允许clic事件:

$('#LinkButton1').attr("disabled", "disabled").on('click', function (e) {
    e.preventDefault();
  return false;
});

$(':input').keypress(function () {
    $('#LinkButton1')
    .removeProp('disabled')
    .off('click')
    .click(function () {
         var continue = confirm('¿CONTINUE?');
         if (continue) {
           return true;
         }
         else
           return false;
    });
});