[英]Passing execution from one click event in js file to another function in another js file
我有一个单击事件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文件中,但是页面引用了这两个事件。 有人可以帮助我吗?谢谢!
事件是异步的。 您无法返回,因为代码将立即继续运行。 您要做的就是为事件创建函数。 函数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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.