如何在 ajax 内容完全加载后调用函数,如 $(window).load() 或 window.onload?

新手上路,请多包涵

我正在使用 ajax,但是在 ajax 内容完全加载后是否有任何选项可以调用函数,例如 $(window).load()window.onload ?当我在新页面时,一切都可以正常工作 $(window).load()window.onload 功能,因为一些脚本在窗口完成加载后工作。但问题出在 ajax 上,当我单击一个链接时,页面会从另一个页面动态加载内容,因此我们不需要 $(window).load()window.onload 函数,但因为某些脚本只能工作当窗口加载或内容完全加载时,如何在 ajax 内容完全加载后调用函数,如 $(window).load()window.onload

 function windowload() {
      //Some functions works only after window load
 };

$(function() {

   $(window).on('load', windowload);

        $(document).on('click', '.pagination a', function(event) {
                        event.preventDefault();
                        var $this = this.href;

                        $.ajax({
                        url: '' + $this + '',
                        dataType: 'html',
                        success: function(html) {
                        var div = $('#style', $(html));
                        $('#style').html(div);

                        //call windowload but not working
                         windowload();

                        //Also tried this but not working
                        $('#style').on('load', function(){
                            windowload();
                           //Some functions work only after ajax content fully loaded

                             });

                      });
               });

编辑: ajax 内容完全加载后我需要一个函数,而不是在 ajax 请求完成后。

原文由 Debar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 676
1 个回答

几个小时以来,我一直在努力寻找解决这个完全相同问题的方法。对我有用的是

$(document).ajaxComplete()

我将我的代码放在那里,当 Ajax 完成并且 div 的内容完全重新加载时,我添加了我想要添加的样式。希望这对某人有帮助。从 ajax 成功调用该方法将不起作用。

原文由 A_W 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题