重新启用链接的事件处理程序

时间:2011-07-13 14:58:48

标签: javascript-events jquery

我希望在页面上存在某些条件时禁用链接,但在这些条件消失后重新启用它。所以我有一个定期执行的功能来检查条件。

if(!enabled) {
$(button).click(function(){return false;});
}

如何“重新启用”该点击事件以使其执行正常操作?我想要它做的就像普通链接一样。

4 个答案:

答案 0 :(得分:2)

您可以在链接上放置自定义事件命名空间,并在必要时绑定/取消绑定它:

<强>禁用:

$('#thelink').on('click.MyDisable', function () {
    return false; 
});

<强>启用:

$('#enabler').on('click', function () {
    $('#thelink').off('click.MyDisable');
});

请查看jsFiddle Demo

答案 1 :(得分:0)

将您的情况置于事件中:

$(button).click(function(){
    if(!enabled) {
        return false;
    }
});

答案 2 :(得分:0)

您可以点击按钮进行检查:

$(button).click(function(){ 
    if(!enabled) 
        return false;
});

答案 3 :(得分:0)

如果要禁用链接,我会将disabled属性设置为disabled,并在想要启用它时删除该属性。唯一的问题是链接将显示为禁用,但用户仍然可以单击它。所以除了click事件处理程序之外,我还会检查以下条件:

$("#myLink").click(function(){
   if($(this).attr("disabled"))
      return false;
});
在你的支票中你可以这样做:

$("#myLink").attr("disabled", "disabled");//if you want to disable it

$("#myLink").removeAttr("disabled");//if you want to enable it