Javascript 执行回调内部链接的默认操作

Javascript 执行回调内部链接的默认操作,javascript,jquery,backbone.js,onclick,Javascript,Jquery,Backbone.js,Onclick,我在我的页面上有一个登录facebook的链接,我想操纵onclick的工作方式。目前,我已将其更改为不执行默认操作,方法是在末尾添加return false: $('#login').on('click', function(e) { FB.login(function(response) { //window.easyUserData.login = response; if (response.authResponse) {

我在我的页面上有一个登录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打开对话框之后,它将重定向页面,而不是我想要的。我要找的是它执行我将return设置为true的链接的默认操作。return-true位不起作用,因为当它到达那里时,return-false已经被处理。有什么建议吗


链接有href=“#/home”,我正在使用backbone.js处理路由。

由于登录函数的异步性质,您必须使用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;
});