运行AJAX调用后,jquery代码不会执行

时间:2013-06-22 12:07:26

标签: javascript jquery ajax

我有一个使用分页的网站,还有一些使用jQuery和AJAX过滤。一切顺利,直到我改变了我的链接到Javascript链接。

在主页上没有使用任何过滤或分页都按预期工作。在我使用分页或过滤(有效地使用两者的AJAX调用)后,我的JavaScript链接不再起作用。

链接的JavaScript是:

$(function(){
    $( ".artikel_box_lk .button" ).click(function( e ) {
        window.open( "/lk/" + $( this ).attr("rel"), "_blank");
    });
});

分页代码:

function loadData(page){                   
    loading_show();
    $.ajax
    ({
        type: "POST",
        url: "php/load_data.php",
        data: dataToSend,
        success: function(msg)
        {
            $("#container").ajaxComplete(function(event, request, settings)
            {   
                loading_hide();
                $("#container").html(msg);                          
            });
        }
    });
}

我的猜测是javascript没有在AJAX调用上重新加载,因为只重新加载了部分页面,但我不确定是否是这种情况以及如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

似乎你的javascript在回发后没有加载。尝试在网页 pageLoad 中添加您的功能,例如:

function pageLoad()
{
    $( ".artikel_box_lk .button" ).click(function( e ) {
        window.open( "/lk/" + $( this ).attr("rel"), "_blank");
    });
}

答案 1 :(得分:0)

执行event delegation

 $( "#container" ).on ("click",".artikel_box_lk .button" ,function( e ) {
        window.open( "/lk/" + $( this ).attr("rel"), "_blank");
    });