$('document')。ready()函数在ajax响应后无法工作

问题描述:

就绪函数在ajax响应后无法工作。下面是我的代码。

function AjaxLoaded() { 
$.ajax({ 
    type: 'POST', 
    url: 'abc.php', 
    data: dataString, 
    success: function(result) { 
    $('document').trigger('ready'); 
} 
}); 
} 

但这根本不起作用。任何答案将不胜感激。

+3

如果与您的场景更相关,您可能会考虑使用['jQuery.holdReady()'](http://api.jquery.com/jQuery.holdReady/)。 – Matt 2014-12-02 11:13:01

+1

听起来像是一个xy问题:http://mywiki.wooledge.org/XyProblem – 2014-12-02 11:18:27

首先,它应该是$(document),不$('document'),但是这是没有实际意义,因为你不能手动触发文档上的ready事件。它只在页面加载时触发一次。

如果你有一些你想在这个AJAX调用完成后运行的代码,把它放在一个函数中,然后调用它。

您可以使用$.holdReady()但是我建议不要干扰基本DOM事件的发射。

应该

$(document).trigger('ready'); 

不是一旦其被执行

$('document').trigger('ready'); 

不过这不会工作在jQuery释放分配给ready事件的所有处理程序。

编辑

您可以将喜欢

$(document).on('ready urmethod',function(){}) 

并调用像

$(document).trigger('urmethod'); 
+4

如果它“不会工作” - a)为什么我们发布它作为答案,b)为什么人们提出这个问题? – Brant 2014-12-02 11:16:41

+2

''不,你不能这样做''可以永远是答案 – 2014-12-02 11:18:19

+0

感谢您的宝贵response.I试过这个,但不工作。 – Thirupathi 2014-12-02 11:18:41