【问题标题】:how to disable and enable hyper link with jquery [duplicate]如何使用jquery禁用和启用超链接[重复]
【发布时间】:2013-11-09 18:33:19
【问题描述】:

我的网页上有一个超链接,我想禁用它,这样用户就不能点击它,当用户在表单的其他部分进行更改(发生事件)时,链接就会启用。

<a href="" id="saveChanges" >Save changes</a>

我试过$("#saveChanges").attr("disabled", true);,但我仍然可以点击链接。任何想法?谢谢

【问题讨论】:

  • 我们可以看看你的代码吗?
  • 我猜您将点击处理程序附加到该锚标记以“保存更改”并且您不希望在“禁用”它时触发它?是什么阻止您在点击处理程序中检查锚标记的禁用属性?

标签: jquery


【解决方案1】:

锚不是可以通过 HMTL 声明禁用的表单字段(顺便说一下,应该使用 .prop() 而不是 .attr())。

必须一步一步来。

$(function () {
    $('a').on("click", function (e) {
        e.preventDefault();
    });
});

【讨论】:

    【解决方案2】:

    要使链接不可点击,您可以删除 href 属性。但是,在您删除 href 的值之前,您应该将其存储在 other 的另一个属性中,以便在需要时恢复它。 例如,

    function makeUnClickable() {
        $('a').each(function () {
            $(this).data('href', $(this).attr('href'));
            $(this).removeAttr('href');
        });
    }
    function makeClickable() {
        $('a').each(function () {
            $(this).attr('href', $(this).data('href'));
        });
    }
    

    http://jsfiddle.net/cC7Um/

    【讨论】:

    • 有趣的想法,但是如果您想禁用/启用许多超链接怎么办?
    • @vulpix 它适用于多个链接,这个例子使它更清楚 jsbin.com/xoyeqejusepi/1 。还添加了一个选择器,以防需要禁用/启用特定链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 2015-03-04
    • 2012-02-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多