javascript - ajax成功后撤消preventDefault

标签 javascript jquery ajax

我有一些带有 .reg_required 类的链接,它使所有链接在用户登录时显示弹出窗口。

$('.reg_required').click(function(e) {
    e.preventDefault();
    $('#login_popup').dialog('open');
});

成功登录ajax后,我从链接中删除了所有类,但显示登录弹出窗口的行为仍然存在。

$('.reg_required').removeClass("reg_required")

登录成功后如何让链接再次转到指定的url?

最佳答案

使用 on() 的委托(delegate)

$(document).on('click', '.reg_required', function(e) {
    e.preventDefault();
    $('#login_popup').dialog('open');
});

我认为发生的事情是当您与 .click() 绑定(bind)时,处理程序在删除类后仍然保持附加状态。这是因为处理程序附加到 $('.reg_required') 及以后的内容。但是,on() 处理程序将附加到当前和 future 的 .reg_required

关于javascript - ajax成功后撤消preventDefault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30808450/

相关文章:

javascript - 通过 AJAX 加载元素?

javascript - 将范围变量传递给弹出模板 angularjs

jquery - Slicebox 3d 图像 slider 在 Chrome 浏览器中不起作用

javascript - 在 JavaScript 中将文本输出到输入字段

jquery - 从文本区域获取 .html() 或 .text()

javascript - 检查当前日期是否不小于 dd/MM/yyyy 格式的当前日期

jquery - 表单验证和 HTML 修改

ajax - 为什么像 twitter、gawker 这样的网站使用 #!而不是简单的网址?

javascript - 穆尔特-S3 : TypeError: Cannot convert object to primitive valu…diate [as _immediateCallback]

javascript - 继续声明困惑