如何更改onhashchange值单击wordpress ajax中的浏览器后退按钮

时间:2013-04-18 09:47:45

标签: jquery ajax wordpress

我正在尝试用browswerback按钮获取wordpress ajax帖子,意味着当用户点击浏览器后退按钮然后发布之前通过点击帖子的标题将显示的帖子,我想使用浏览器后退按钮显示上一篇文章,为此我已经使用了这个代码,当用户点击帖子但它没有使用浏览器后退按钮时工作正常,我遇到了这个问题。 任何人都可以告诉我这个问题的解决方案。

    success: function(response) {
    jQuery("#loading-animation").addClass('loadingstyle');
    jQuery("#loading-animation").text(function(){
    if(location.hash){
    // We got a hash value! Lets take off the hash and smoke it.
    var newhash = window.location.hash.substring(1);
    jQuery("#loading-animation").html(response);
    // uncomment the above code to see if it works.
    }else{
    alert("No hash available.");
    // no hash value
    }
    $(".ajaxclick").click(function(e){
    e.preventDefault();
    window.location.hash = $(this).attr("href");
    });

    // $(window).on('hashchange', function() {

    window.onhashchange = function(){

    // hash changed. Do something cool.
    if(location.hash){

    var hash = window.location.hash.substring(1);
    //    console.log(response);
    jQuery("#loading-animation").html(response);

    }else{
     // load home page
    // jQuery("#loading-animation").html(response);
    alert("No more content to show");
    }
    }       
    });

    return false;
    }

2 个答案:

答案 0 :(得分:0)

您正在使用e.preventDefault();导致停止进一步的事件(点击)。

请从以下代码中删除e.preventDefault();

$(".ajaxclick").click(function(e){
      e.preventDefault();
     window.location.hash = $(this).attr("href");
});

答案 1 :(得分:0)

您可以使用以下代码替换onchange函数吗?

window.onhashchange = function(){
     if(location.hash){
          var hash = $('.ajaxclick').attr('href');
          jQuery("#loading-animation").html(response);

     }else{
         alert("No more content to show");
     }
}