引导程序 3 删除模式触发器

Bootstrap 3 remove modal trigger

本文关键字:触发器 模式 删除 引导程序      更新时间:2023-09-26

我有一个模式,我用它来让用户登录或注册到我的网站。我也允许通过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');
        ...
    }
});

既然你提到你正在使用他们的数据属性,那就从你的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);

现在,它只会在您的Facebook状态是您想要的状态时调用模态,而当它不是时,它不会调用模态。