您好我正在学习使用Jquery地址插件,并且正在使用该教程 here
所以这是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(以及一般编程)的非常肤浅的了解,我在这里做错了什么?
答案 0 :(得分:0)
噢,我希望有人能回答这个问题。我一直试图将这件事情发布到POST一天......它只是希望得到它看起来的一切,但我不知道如何调整它发布。
答案 1 :(得分: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);
}
})
})