1

嗨,我正在学习使用 Jquery Address 插件,并且正在使用 这里的教程

所以这里是html

<a href="test1.html" rel="address:/test1">Test 1</a><br />
<a href="test2.html" rel="address:/test2">Test 2</a>

Load Area: <br />
<div id="area"></div>

这是Jquery代码

function loadURL(url) {
        $("#area").load(url);
    }


    // Event handlers
    $.address.init(function(event))
.change(function(event) {
        $("#area").load($('[rel=address:' + event.value + ']').attr('href'));
    })

    $('a').click(function(){
        loadURL($(this).attr('href'));
    });

现在这很好用。但是我想在后退按钮上进行 POST 调用。所以我替换

$("#area").load($('[rel=address:' + event.value + ']').attr('href'));

var myhref = $('[rel=address:' + event.value + ']').attr('href');
$.post(myhref, function(data) {
        $('#area').html(data);
    });

这会引发控制台错误“this.value 不是函数”。

考虑到我对 Jquery(和一般编程)的非常肤浅的了解,我在这里做错了什么?

4

2 回答 2

0
function loadURL(url) {
        $.post(url, function(data){
            $("#area").html(data);
        })
    }


    // Event handlers

    $(document).ready(function(){
        $("a").click(function(e){
            e.preventDefault();
            $.address.value($(this).attr("href"));
            $.post($(this).attr("href"), function(data){
                $("#area").html(data);
            })
            return false;
        })
    })

    $(document).ready(function(){
        $.address.init(function(event) { // Initates the address plugin
        }).externalChange(function(event) { //externalChange is browser back/fwd button/address bar
            if(event.path != "/"){
                loadURL(event.path);
            }
        })
    })
于 2011-01-03T06:10:53.367 回答
0

哦,我希望有人能回答这个问题。我一直试图让这个东西发布一天。它只是想得到它看起来的一切,但我不知道如何调整它来发布。

于 2011-01-03T04:25:09.033 回答