取消绑定后未提交的表单

forms not submitted after an unbind

本文关键字:表单 提交 绑定 取消      更新时间:2023-12-24

我希望未登录我的网站的访问者在点击页面上的任何位置时都会显示登录弹出窗口。我使用jQuery来完成

$('body.no-auth a, body.no-auth span, body.no-auth ul, body.no-auth li, body.no-auth p').unbind('click');
$('body.no-auth a, body.no-auth span, body.no-auth ul, body.no-auth li, body.no-auth p, body.no-auth input').click(function(event) {
    event.preventDefault();
    $('#sign-up-overlay').fadeIn('slow');
    $('#login-form').css('margin', ( ( window.innerHeight-$('#login-form').height() )/2 )+"px 0 0 0");
});

它工作,我的弹出窗口显示,但我不能提交登录表单(它是用$.ajax提交的)。当我点击提交按钮时,没有任何附加。。。

我忘了什么吗?

加载弹出窗口后,请禁用此处理程序,因为它会不断触发和取消您的单击。

一种方法是:

var popup_open = false;
$('body.no-auth a, body.no-auth span, body.no-auth ul, body.no-auth li, body.no-auth p, body.no-auth input').click(function(event) {
    if (popup_open === false) {
        event.preventDefault();
        $('#sign-up-overlay').fadeIn('slow');
        $('#login-form').css('margin', ( ( window.innerHeight-$('#login-form').height() )/2 )+"px 0 0 0");
    }
    popup_open = true;
});

关闭时请确保将popup_open设置为false