在我的页面上,我想检查用户是否已登录,如果他是,那么我允许用户执行各种操作(例如上传下面的照片)。要检查用户是否已登录,我在jquery中编写了这个简单的函数。
$(document).ready(function(){
function checkLogin(callback){
<% if !current_user %>
$.colorbox({href:"/signup", width: "400px", height: "200px"});
var status = false;
callback(status)
<% end %>
}
当我想检查用户是否登录时,我用以下方式调用上面的内容:
$(".upload-pics").click(function(){
checkLogin(function(c){
if(c == false){
return false;
}
});
// open colorbox to upload pictures
$("a.upload-pics").colorbox();
})
问题是,每次我调用checkLogin并说明用户是否未登录时,“return false”并不会停止执行其余代码,这意味着无论如何都会触发上传图片的颜色框代码。真正奇怪的部分是“返回false”确实被执行但这并不会阻止其余的代码执行。我的代码有问题吗?感谢。
答案 0 :(得分:0)
因为它里面的另一个功能.. 做
$(".upload-pics").click(function(e){
var x = checkLogin(function(c){
if(c == false){
return false;
}
});
if(!x){
return false;
}else{
$("a.upload-pics").colorbox();
}
})
答案 1 :(得分:0)
function checkLogin(){
<% if !current_user %>
$.colorbox({href:"/signup", width: "400px", height: "200px"});
return false;
<% end %>
return true;
}
$(".upload-pics").click(function(){
var x = checkLogin();
if(!x){
return false;
}