我有以下禁用所有超链接的方法,但在发生事件后我想再次启用它们,我该怎么做?
$("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/