Bootstrap 3删除模态触发器

时间:2013-11-08 14:35:02

标签: javascript jquery twitter-bootstrap

我有一个模式,我用它来签署用户或将他们注册到我的网站。我也允许通过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');

        ...

    }
});

1 个答案:

答案 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);

现在它只会在你的脸书状态达到你想要的状态时才会调用该模态,并且当它不存在时它就不会。