jquery – AJAX加载的内容是否获得“document.ready”?

前端之家收集整理的这篇文章主要介绍了jquery – AJAX加载的内容是否获得“document.ready”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
昨天我有一个问题,一个.on(‘click’)事件处理程序,我分配是不能正常工作。原来是因为我试图在元素存在于DOM之前应用.on(‘click’),因为它是通过AJAX加载的,因此在document.ready()到达时这一点。

解决了一个尴尬的解决方法,但我的问题是,如果我把一个<脚本>标签在ajax加载的内容和另一个document.ready()在那里,第二个document.ready()只有一旦解析ajax内容完成加载?换句话说,它认为单独加载的ajax内容是另一个文档,如果是这样,有另一个document.ready()在ajax加载的HTML工作方式,我认为它是吗?

或者;什么是更好的办法来处理这种情况? (需要将事件侦听器附加到document.ready()中尚不存在的DOM元素)

解决方法

回答你的问题:不,一旦ajax请求完成,document.ready将不会再次触发。 (将ajax中的内容加载到文档中,因此没有用于ajax内容的第二个文档)。

解决您的问题,只需将事件侦听器添加到元素,您可以在其中加载ajax内容
例如:

$( "div.ajaxcontent-container" ).on( "click","#id-of-the-element-in-the-ajax-content",function() {
  console.log($( this ));
});

对于#id-of-the-element-in-the-ajax-content,你可以使用你在$(“selector”)中使用的任何选择器。唯一的区别是,只有div.ajaxcontent-container下的元素将被选中。

怎么运行的:只要div.ajaxcontent-container存在所有匹配选择器#id-of-the-element-in-the-ajax-content的元素(如果它们现在存在或仅在将来存在)将触发此点击事件。

猜你在找的jQuery相关文章