2013-02-08 73 views
1

我试图每次更改URL时更新我的​​菜单按钮的状态。下面的代码是在我的按钮mouseleaveURL更改后更改按钮的状态

$(document).ready(function() { 
    $("#btnAdd, #btnEdit").mouseleave(function(event) { 
     ActivateMenuButton(); 
    });  
}); 

function ActivateMenuButton() { 
    var currentURL = window.location.pathname; 
    //alert(currentURL); 

    //deselect current selected button 
    $("#btnAdd, #btnEdit").removeClass("buttonSelected"); 

    //select menu button according to URL 
    if (currentURL.indexOf('Add') >= 0) { 
     $("#btnAdd").addClass("buttonSelected");  
    } 

    if (currentURL.indexOf('Ddit') >= 0) { 
     $("#btnEdit").addClass("buttonSelected"); 
    } 
} 

有过的jQuery或javescript一种方法来检测时,页面的变化和射击上面的代码?

+1

您可以尝试使用卸载事件:http://docs.jquery.com/Events/unload – cheesemacfly 2013-02-08 17:03:32

回答

1

你会寻找jQuery.ready(),当页面加载完成时会触发它。您的JavaScript代码在页面加载时不记得自己,因此mouseleave事件毫无意义,您只需继续并直接激活ActivateMenuButton。

jQuery(document).ready(function() { ActivateMenuButton(); });  
+0

当然,我在想什么?谢谢。我在盒子外面思考,问题是我在错误框外思考:-) – user1536396 2013-02-08 17:19:11