2012-12-21 86 views
0

如何使第一個功能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(); 
}); 

回答

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 
    }); 
});​ 
+0

感謝您的回覆。你能幫我一些exmaple的代碼嗎? – user1775888

+0

感謝您的幫助! – user1775888