点击()取消函数后面的popstate

时间:2012-12-21 03:27:29

标签: jquery browser-history

如何在back_a之后删除popstate中的第一个函数click, 然后我可以运行antoner?

function back_a(){
    $(window).bind('popstate', function(e){
        //do some thing
    });
}
back_a();

function back_b(){
    $(window).bind('popstate', function(e){
        //do different thing
    });
}

$('btn').click(funcion(){
    // how to cancel back_a();
    //run back_b();
    back_b();
});

1 个答案:

答案 0 :(得分:0)

jquery中的事件可以是命名空间:

$(selector).on("click.myclick", function(){...});

您可以稍后删除该特定事件:

$(selector).off("click.myclick");

修改

尝试这样的事情:

$(window).on("popstate.fubar", function(e){
    // do some stuff here
});

$('btn').click(funcion(){
    $(window).off("popstate.fubar");
    $(window).on("popstate.fubar", function(e) {
        // do some different stuff here
    });
});​