jQuery:如何禁用div中的所有内容?但仍然保持一切可见?

Nul*_*uli 6 javascript jquery

目标是在单击一个链接时禁用所有链接,然后禁用所有链接,直到服务器发送不可用的命令(使用类似的方法用于禁用).

所以,由于所有的链接都在一个包含div,我想我可以暂时禁用它.

我该怎么做呢?

lon*_*day 3

如果您只想禁用默认链接行为,您可以使用delegate和的组合event.preventDefault

$('#container').delegate('a', 'click', function(e) {
    if (linksDisabled) {
        e.preventDefault();
    }
});
Run Code Online (Sandbox Code Playgroud)

然后,您可以根据需要设置linksDisabled(在父范围内)其他事件处理程序true或在其他事件处理程序中设置。false

如果这些链接正在做 Javascript 的事情,那就有点棘手了。if (linksDisabled)将检查放入每个事件处理程序中可能是最简单的。

  • @Lèse majesté 它允许传播继续。我个人觉得比较直观。此外,它可以在事件处理程序中的任何点调用,而不仅仅是在最后。这与这里无关,但我希望我的代码保持一致。 (2认同)