javascript - 使用 JQuery 禁用和启用所有超链接

标签 javascript jquery

我有以下禁用所有超链接的方法,但在发生事件后我想再次启用它们,我该怎么做?

$("a").click(function() { return false; });

我不认为它只是将其设置为 true 这么简单。 ;)

谢谢大家

最佳答案

与其以这种方式绑定(bind)“点击”处理程序,不如这样做:

$('a').bind("click.myDisable", function() { return false; });

然后当你想删除那个处理程序时很容易:

$('a').unbind("click.myDisable");

这样您就可以避免弄乱可能绑定(bind)到“点击”的其他内容。如果您只是取消绑定(bind)“点击”,那么您将取消绑定(bind)到该事件的所有内容。

2014 年编辑 — 现在绑定(bind)事件的方式是使用 .on() :

$('a').on('click.myDisable', function() { return false; });

可能这样做会更好:

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

解除绑定(bind):

$('a').off('click.myDisable');

最后,您可以将处理程序绑定(bind)到文档主体并处理 <a>动态添加的标签:

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

// to unbind

$('body').off('click.myDisable');

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

相关文章:

javascript - 在 JavaScript 中,自调用 `call` 的目的是什么?

jQuery UI 在滚动 div 中可排序

javascript - 带有 Google map 的远程 Bootstrap 模态

javascript - 如何禁止向 <td> 添加元素

javascript - 剧作家 'no tests found.' 在 example.spec.ts 的简单副本上

javascript - CORS vs crossdomain.xml,哪个优先?

javascript - 在 Android 上获取混合应用程序( ionic )的日志

javascript - 在动画导航下拉菜单上创建点击关闭事件

javascript - 使用 $(this) 的 Jquery 选项

javascript - 试图从 map() 中获取扁平数据