1

每次我的 URL 更改时,我都会尝试更新菜单按钮的状态。以下代码在mouseleave我的按钮上:

$(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 来检测页面何时更改并触发上面的代码?

4

1 回答 1

1

您将寻找 jQuery.ready(),它在页面完成加载时触发。您的 javascript 代码在页面加载之间不记得自己,因此 mouseleave 事件毫无意义,您只想继续并直接触发 ActivateMenuButton。

jQuery(document).ready(function() { ActivateMenuButton(); });     
于 2013-02-08T17:04:55.280 回答