。那麼,我做的也是pushState腳本,我用jQuery 1.6.2來做,但它使用.live(),但與jQuery的v2.0.3它已棄用。所以,我不知道我怎麼能代替它,看看:再次替換jquery上的.live()
$('.a').live('click', function(e){
history.pushState(null, null, this.href);
replacePag(this.href);
e.preventDefault();
$(window).bind('popstate', function(){
replacePag(location.pathname);
});
});
當我用類.A它工作正常,一個元素運行它,但我的網頁有很多.A元素。我用.on()試過,但它都不起作用。
$('.a').on('click', function(e){
history.pushState(null, null, this.href);
replacePag(this.href);
e.preventDefault();
$(window).bind('popstate', function(){
replacePag(location.pathname);
});
});
如果你能幫助我,謝謝你的幫助。
好,我的腳本是:
$(function(){
var replacePag = function(ur) {
$.ajax({
url: ur,
type: 'get',
dataType: 'html',
success: function(dat){
var domm = $(dat);
var titl = domm.filter('title').text();
var htm = domm.filter('#body').html();
$("#body").fadeOut(100,
function(){
$(this).html(htm);
$('title').text(titl);
}).fadeIn(1000);
}
});
}
$('.a').live('click', function(e){
history.pushState(null, null, this.href);
replacePag(this.href);
e.preventDefault();
$(window).bind('popstate', function(){
replacePag(location.pathname);
});
});
});
此外,你不能只是取代''用一個字.on'字.live',你必須針對當前存在的元素。檢查zeh文檔! – tymeJV