我有一个点击事件A,当触发时,它将检查用户是否已登录。如果用户未登录,将触发模态登录窗口并且用户登录。当用户点击登录时按钮,执行登录并将执行传递回单击事件A并继续执行。
$('.A').on('click',function(){
//Check if logged in
if(!logged_in())
{
var r = confirm("you are not logged in. Do you want to login/register"?);
if(r)
$('#login_link').click();
else return
}
//Continue execution if logged in
//Execution of code
});
我的#login_link是登录的模态窗口。当用户点击模态窗口上的登录按钮时的jquery
$('#sign_in').click(function(){
//perform log in function
if(success)
window.location.assign(window.location.href);
});
当用户成功登录时,它将保留在其所在的页面上。但是现在登录后,我希望执行返回到A上的click事件。这两个事件在不同的js文件中,但页面引用了它们。有人可以帮我吗?提前谢谢!
答案 0 :(得分:0)
事件是异步的。您无法返回返回,因为代码将继续立即运行。您需要做的是为事件创建函数。函数login.A
和login.sign_in
也可以只是对象外的函数。这只是为了表明一种可能性。像:
var login = {
A : function(){
//Check if logged in
if(!logged_in())
{
var r = confirm("you are not logged in. Do you want to login/register"?);
if(r)
login.sign_in();
else return
}
//Continue execution if logged in
//Execution of code
},
sign_in : function(){
//perform log in function
if(success)
window.location.assign(window.location.href);
return "back to A, or end the click event of #sign_in";
}
};
$(".A").click(login.A);
$("#sign_in").click(login.sign_in);