$ .address.value(“/ abc /”)抛出错误

时间:2013-01-30 16:16:09

标签: jquery jquery-plugins

我有一个包含许多链接的页面,我在点击时使用$.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();
});

1 个答案:

答案 0 :(得分: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>