通过ajax加载的链接不会通过ajax加载

时间:2016-01-12 11:07:43

标签: jquery ajax wordpress

我正在创建一个ajax加载站点,对此我不熟悉,并且通过.load方法加载到容器中,然后在单击时无法以相同的方式运行......他们只是加载页面作为HTML标准。

如果重要的话我使用wordpress作为cms并从永久链接中加载页面。

我正在使用类似的东西:

$(document).ready(function() {

    $('a.ajax').click(function(){

        var toLoad = $(this).attr('href')+' .content';

        $('.ajax-wrapper').animate( {opacity: 0}, 1000, function() {

            $('.content').load(toLoad,'',function() {

                $('.ajax-wrapper').animate( {opacity: 1}, 1000);

            });

        });

        return false;

    });
});

3 个答案:

答案 0 :(得分:1)

您可能只需要event.preventDefault(),该事件是Click侦听器函数的参数。文档:https://api.jquery.com/event.preventdefault/

答案 1 :(得分:0)

您需要的可能是事件委托,基本上您将事件绑定到文档生命周期中可用的元素

$(document).on('a.ajax', 'click', function(){

    var toLoad = $(this).attr('href')+' .content';

    $('.ajax-wrapper').animate( {opacity: 0}, 1000, function() {

        $('.content').load(toLoad,'',function() {

            $('.ajax-wrapper').animate( {opacity: 1}, 1000);

        });

    });

    return false;

});

答案 2 :(得分:0)

$('body').on('click', 'a.ajax', function (e){


        var toLoad = $(this).attr('href')+' .content';

        $('.ajax-wrapper').animate( {opacity: 0}, 1000, function() {

            $('.content').load(toLoad,'',function() {

                $('.ajax-wrapper').animate( {opacity: 1}, 1000);

            });

        });

        return false;


        });