Javascript 一旦ajax内容的脚本完全执行,如何手动触发事件?

Javascript 一旦ajax内容的脚本完全执行,如何手动触发事件?,javascript,jquery,ajax,performance,jquery-events,Javascript,Jquery,Ajax,Performance,Jquery Events,我正在加载一个带有脚本部分的html页面,通过AJAX呈现JQuery UI。此html页面包含更多数字小部件。在Ajax的success函数中,我通过其jqueryui类名访问UI控件,但没有添加任何类名,即脚本没有执行。如果我在100ms后使用setTimeOut访问相同的文件,它将正常工作 请参阅以下代码: var self = this; $.ajax({ url: url, dataType: "html",

我正在加载一个带有脚本部分的html页面,通过AJAX呈现JQuery UI。此html页面包含更多数字小部件。在Ajax的success函数中,我通过其jqueryui类名访问UI控件,但没有添加任何类名,即脚本没有执行。如果我在100ms后使用setTimeOut访问相同的文件,它将正常工作

请参阅以下代码:

  var self = this;
  $.ajax({
                url: url,
                dataType: "html",
                cache: true,
                success: function (str,sta,xhr) {
                        $("#samplefile").html(str);

             setTimeout(function() {
                        self.reg($("#samplefile .ui-widgetui"));
                    },100);
           }
        });

它工作正常,但我想在没有设置超时的情况下访问它。有人能对此提出建议吗?

听起来您可能正在尝试在初始化所有内容之前访问DOM。您是否尝试过将ajax请求的初始化包装到jQuery$document.ready调用中?这可以确保DOM在被触发之前处于初始化状态


更新了queryI,我在document.ready中调用了ajax请求,但只调用了源文件,而不是工作。设置超时显然是一个计时问题,因此任何可能延迟某种初始化的事情似乎都是一个很好的起点。