javascript - 禁用超链接

标签 javascript jquery hyperlink

我页面上的一些超链接只有在网格控件内选择元素时才被启用。

我有机会在页面上选择一行时注入(inject)一些代码,我想使用 jquery 代码启用/禁用这些超链接。

有什么建议吗?

最佳答案

不禁用它们会更容易,而只是阻止它们做它们自动做的事情。我会使用 $().delegate 来做到这一点:

$(document.body).delegate('a', 'click', function(e) {
    if ($(this).is('.disabled')) { // or whatever logic here
        e.preventDefault();
    }
});

您可以在条件子句中使用任何逻辑,例如检查页面上是否存在其他元素,检查配置变量等。

编辑 如果树的更高层有停止传播的处理程序,这将无法可靠地工作。如果您有大量函数执行传播操作,最简单的解决方案是在每个函数开始时进行条件检查:

$('#your_link').click(function(e) {
    if (logic) {
        e.stopPropagation();
        e.preventDefault();
    };

    // the rest of your function here
});

关于javascript - 禁用超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4004429/

相关文章:

javascript - 应用程序浏览器中的 Phonegap 无法加载,显示空白页面

javascript - 在 javascript 中显示带标记的字符串

javascript - Three.js 纹理模型未正确应用于对象

PHP链接问题

c++ - 使用 C++ 和 Qt 链接到网络驱动器

javascript - 无法使用mapbox-gl.js向mapbox map 添加标记

jquery - jsonp 没有在发送之前触发?

javascript - CSS/Javascript - 按钮和链接未检测到悬停或单击?即使 z 指数最高?

javascript - 单击 div 时提醒 div id

jquery - CarouFredSel 图像链接