0

我有一个包含许多链接的页面,我正在$.address.value("/abc/")点击使用。当我第一次单击时它工作正常,但是当我第二次单击相同的链接或另一个链接时,它会引发错误:

JavaScript 运行时错误:无法获取未定义或空引用的属性“值”

我正在使用以下代码:

$(function () {
    $.address.internalChange(function (event) {
        if (event.value == "" || event.value == "/") {
            $("#maincontainer").html('');
        }
        else {
            var page = event.value.split('/');
            if (page[1] == "page1") {
                $.ajax({
                    type: "GET",
                    url: "page1.aspx",
                    success: function (data) {
                        $("#maincontainer").html(data);
                    }
                });
            }
            else if (page[1] == "page2") {
            }
            else {
            }
        }
    });
})

function gotopage(pageid){
    if (pageid == 1) {
        alert(pageid);
        $.address.value("/page1/");
    }

    if (pageid == 2) {
        alert(pageid);
        $.address.value("/page2/");
    }
}

$("ul#navigation  li ul li").click(function (e) {
    gotopage($(this).attr("rel"));
    e.preventDefault();
});
4

1 回答 1

0

找到简单的解决方案如下:

 $(document).ready(function () {

        $.address.strict(false);

        $.address.change(function (event) {
            if (event.value != "") {
                $("#content").load(event.value + '.aspx');
            }

            else { alert('load home page'); }
        });
    });

//---------------------------

<a href="Default2.aspx" rel="address:/default2">Default2</a> 
<a href="Default3.aspx" rel="address:/default3">Default3</a>
于 2013-01-31T11:12:31.883 回答