【问题标题】:perform default action of a link inside of callback在回调内部执行链接的默认操作
【发布时间】:2013-01-01 22:58:14
【问题描述】:

我的页面上有一个使用 facebook 登录的链接,我想控制 onclick 的工作方式。目前我已经对其进行了更改,使其不会通过在末尾添加 return false 来执行默认操作:

$('#login').on('click', function(e) {
    FB.login(function(response) {
        //window.easyUserData.login = response;
        if (response.authResponse) {
            console.log('authorised');
            return true;
        } else {
            // cancelled
        }
    });
    return false;
});

发生的事情是在它调用 FB.login 打开对话框之后它会重定向页面,而不是我想要的。我正在寻找的是它执行我放置返回 true 的链接的默认操作。 return true 位不起作用,因为当它到达那里时, return false 已经被处理了。有关如何执行此操作的任何提示?

链接有 href="#/home",我正在使用主干.js 来处理路由。

【问题讨论】:

    标签: javascript jquery backbone.js onclick


    【解决方案1】:

    由于登录功能的异步特性,您必须使用 javscript 重定向:

    $('#login').on('click', function(e) {
        var href=this.href;
        FB.login(function(response) {
            //window.easyUserData.login = response;
            if (response.authResponse) {
                console.log('authorised');
                /* redirect here*/
               window.location=href;
            } else {
                // cancelled
            }
        });
        return false;
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-02
      • 2019-04-09
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 2011-07-08
      • 2011-07-26
      相关资源
      最近更新 更多