我正在制作一个带有注册,登录和忘记密码表单的模式,并且我通过隐藏和显示来玩div。关闭模式时,我做了trick克隆内容,但内部没有任何元素响应分配给它们的jQuery。
这是克隆的代码:
var login_modal = $('.md-modal.login-modal');
var originalState = login_modal.clone();
login_modal.find('.md-close').click(function(){
login_modal.replaceWith(originalState);
});
这是克隆后无法运行的代码示例:
$('#email-register').click(function() {
$('#multi-login-box').hide();
$('#register-box').show();
});
答案 0 :(得分:0)
看到的主要问题是您将处理程序分配给克隆它的 后的原始元素 。因此克隆将不具有这些处理程序边界。 (您还需要告诉.clone
方法您希望克隆处理程序,但这假设您已经有一些处理程序在克隆时绑定)
答案 1 :(得分:-2)
查看jQuery clone文档。您可以将bool传递给.clone来复制处理程序。
编辑:您需要在克隆之前将处理程序附加到原始元素,并执行深度克隆:
login_modal.clone(true, true);