通过AJAX的jQuery - .load页面,加载页面上的回调定义?

通过AJAX的jQuery - .load页面,加载页面上的回调定义?

问题描述:

我正在使用$('#container')。load方法来处理加载我网站的所有子页面。 现在的交易是,一些子页面需要额外的行为(如表单验证等)通过AJAX的jQuery - .load页面,加载页面上的回调定义?

我想他们是自包含的,所以 - 每个子页面都有自己的JS代码,可以处理所有的子页面特定的任务。然而,这需要其中的一些人来处理“加载”回调以访问刚加载的DOM节点。

有关如何实现它的任何提示?我试图把 复制代码

<form id="my-form"> .. </form> 
<script> 
$('#my-form').ready(function() { 
    //.. 
});</script> 

,但它似乎并没有被触发通过AJAX加载时。

+0

您正在使用哪个版本的jQuery? – 2010-08-11 12:03:27

最后,我已经想通了这个问题。这完全是关于内容过滤(.load方法的第二个参数)。 现在,我不是在JS端进行过滤,而是在服务器端进行过滤。

由于您的表单/加载页面时,你需要使用的livedelegate方法要么,例如这里是你如何可以验证您的形式:

$('#my-form').live('submit', function(){ 
    // your validation code.... 
}); 

livedelegate方法的任何元素上工作目前或在未来

更多信息:

+0

在低于1.4的jQuery版本中,* submit *,* focus *和* blur *等非冒泡DOM事件不能与* live()*一起使用。只要你坚持更新的版本,这不会是一个问题。 – 2010-08-11 08:55:28

+0

@Andy E:同意,我们假设使用最新版本的jquery,毕竟它有各种修复,尤其是事件处理。 – Sarfraz 2010-08-11 09:03:35

+0

您提供的代码需要放在“主”代码中,而不是加载的子页面。 – migajek 2010-08-14 08:54:33