$ .ajax调用后无法访问$(document).ready()代码

时间:2012-10-10 23:05:58

标签: jquery

我在每个页面的页脚中都有一个“Go fullscreen”链接。在document.ready()中,我有一个代码需要在单击此链接时执行。还有另外两个链接通过$ .ajax调用从此页面上的下一页和上一页获取内容。内容加载正常,但是一旦处理了ajax调用,“go fullscreen”链接就会停​​止工作。基本上,它不会调用document.ready()中的click事件。即使在ajax调用之后,如何使document.ready()中的代码始终有效。

代码

$.ajax({
    url: $j('#prev a').attr('href'),
    success: function(data) {
                data=$j(data).find('.container > .row');
                $j('.container').html(data);
                $j("#go-fullscreen").bind('click');
             }
    });

2 个答案:

答案 0 :(得分:2)

当你这样做时;

$j("#go-fullscreen").bind('click');

您没有绑定任何特定的事件处理函数,因此点击没有任何反应。您需要指定要在单击时执行的功能。有关详细信息,请参阅jQuery doc

$j("#go-fullscreen").bind('click', function() { /* your code here */});

答案 1 :(得分:1)

由于你根本没有发布任何代码,我正在做一些假设。听起来你正在动态加载/更改页脚内容。另外听起来像是用以下内容连接点击:

$('a').click(function() { //... });

如果这一切都是真的,您想要改变您为活动布线的方式。查看.on

$('.container').on('click', '#go-fullscreen', function() { //... });