Javascript setInterval未在click()函数中运行
这个问题以前从来没有被问过,因为我已经广泛地寻找答案,我正在碰壁 当我通过控制台运行这段代码或输出onclick函数时,它可以通过打开一个facebookouth对话框完美地工作,当它完成时,它将关闭并重新加载原始页面Javascript setInterval未在click()函数中运行,javascript,facebook,setinterval,Javascript,Facebook,Setinterval,这个问题以前从来没有被问过,因为我已经广泛地寻找答案,我正在碰壁 当我通过控制台运行这段代码或输出onclick函数时,它可以通过打开一个facebookouth对话框完美地工作,当它完成时,它将关闭并重新加载原始页面 var win = window.open('/auth/facebook','location=yes, scrollbars=yes, width=640, height=359', true); var intervalID = setInterval(function
var win = window.open('/auth/facebook','location=yes, scrollbars=yes, width=640, height=359', true);
var intervalID = setInterval(function(){
if(win.closed){
location.reload();
}
}, 100);
我的问题是,在click()函数中,它根本不起作用
$(document).ready(function() {
var intervalID = null;
var win = null
$("#flogin").click(function(){
win = window.open('/auth/facebook','location=yes, scrollbars=yes, width=640, height=359', true);
intervalID = setInterval(function(){
if(win.closed){
location.reload();
}
}, 100);
});
});
对你们所有人来说,这似乎是一个非常简单的问题,可能有一个简单的答案,但我似乎找不到。谢谢你的帮助 正如您在评论中提到的,您正在使用
标记
使用preventDefault
阻止默认操作
这应该行得通
$(document).ready(function() {
var intervalID = null;
var win = null
$("#flogin").click(function(event){
event.preventDefault(); //prevents the default action
win = window.open('/auth/facebook','location=yes, scrollbars=yes, width=640, height=359', true);
intervalID = setInterval(function(){
if(win.closed){
location.reload();
}
}, 100);
});
});
关于行var-win=window.open
,如果您在开始时已经声明了var-win=null
,那么您应该只声明win=window.open
。html非常简单:我删除了没有result@chapmatic我已经回答了你的问题顺便说一句,空href与当前位置相同:)如果您想留在页面上,至少应该使用“#”
。