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的元素(如果它们现在存在或仅在将来存在)将触发此点击事件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


jQuery表单验证提交:前台验证一(图文+视频)
jQuery表单验证提交:前台验证二(图文+视频)
jQuery如何实时监听获取input输入框的值
JQuery怎么判断元素是否存在
jQuery如何实现定时重定向
jquery如何获取复选框选中的值
jQuery如何清空form表单数据
jQuery怎么删除元素节点
JQuery怎么循环输出数组元素
jquery怎么实现点击刷新当前页面
怎么用jquery实现文字左右展开收缩效果
jquery怎么删除html属性
如何用jquery实现图片翻转效果
jquery怎么删除样式属性
jquery如何获取当前元素的位置
如何用jquery实现点击展开收缩效果
jquery怎么实现点击隐藏显示效果
jQuery如何获取当前页面url
jQuery怎么获取鼠标的位置坐标
简洁易懂的jQuery:HTML表单与jQuery