我有一个模式,我用它来签署用户或将他们注册到我的网站。我也允许通过Facebook加入。
现在,当我的网站上的原生会话到期时,我不想通过Facebook自动签署用户,除非他们明确告诉我,这意味着当他们点击链接时我触发了登录触发模态。
我遇到的问题是模态仍然会触发(然后立即隐藏)我想知道是否有一种方法可以在用户通过Facebook连接时删除模态触发器,相反,当他们点击模态触发器时,它只是将它们签入。
我试过这个无济于事。
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
$('#sidebar-auth-modal-trigger').off('click.bs.modal.data-api');
$(document).off('click.bs.modal.data-api', '#sidebar-auth-modal-trigger');
...
}
});
答案 0 :(得分:1)
由于您提到您正在使用其数据属性,请从您的html中删除它。
尝试仅在你的FB状态是你想要的时候触发模态,就像这样(我真的不知道你的FB登录状态在做什么,并不是所有的代码都存在,但是这应该让你顺利) :
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
//dont call your modal here if you dont want it
} else {
//call your modal
$('#myModal').modal();
}
});
$('#sidebar-auth-modal-trigger').on('click', FB.getLoginStatus);
现在它只会在你的脸书状态达到你想要的状态时才会调用该模态,并且当它不存在时它就不会。