Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-.通过AJAX加载页面,加载页面上的回调定义?_Jquery_Ajax_Callback - Fatal编程技术网

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

jQuery-.通过AJAX加载页面,加载页面上的回调定义?,jquery,ajax,callback,Jquery,Ajax,Callback,我正在使用$('#container').load方法来处理加载我站点的所有子页面。 现在的交易是,一些子页面需要额外的行为(如表单验证等) 我希望它们是自包含的,所以-每个子页面都有自己的JS代码来处理所有子页面特定的任务。然而,这需要它们中的一些处理“已加载”回调以访问刚刚加载的DOM节点 关于如何实现这一目标有什么建议吗?我试着把 复制代码 <form id="my-form"> .. </form> <script> $('#my-form').rea

我正在使用$('#container').load方法来处理加载我站点的所有子页面。 现在的交易是,一些子页面需要额外的行为(如表单验证等)

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

关于如何实现这一目标有什么建议吗?我试着把 复制代码

<form id="my-form"> .. </form>
<script>
$('#my-form').ready(function() {
    //..
});</script>
。。
$(“#我的表单”).ready(function(){
//..
});

但在通过AJAX加载时,它似乎不会被触发。

由于您的表单/页面已加载,因此您需要使用
live
delegate
方法,例如,下面是验证表单的方法:

$('#my-form').live('submit', function(){
  // your validation code....
});
live
delegate
方法适用于现在或将来的任何元素

更多信息:


    • 我终于解决了这个问题。这一切都是关于内容过滤(加载方法的第二个参数)。
      现在,我不再在JS端进行过滤,而是在服务器端进行过滤。

      在低于1.4的jQuery版本中,提交、聚焦和模糊等非冒泡DOM事件不能与live()一起使用。只要您坚持使用较新的版本,这就不会有问题。@Andy E:是的,我们同意,我们假设使用了最新版本的jquery,毕竟它有各种修复,特别是在事件处理方面。您提供的代码需要放在“主”代码中,而不是加载的子页面中。您使用的是哪个版本的jquery?