【问题标题】:How to trigger the event manually once the ajax content's script is executed completely?ajax内容的脚本完全执行后如何手动触发事件?
【发布时间】:2016-09-07 12:08:43
【问题描述】:

我正在通过AJAX 加载带有script 部分的html 页面(渲染JQuery UI)。此 html 页面包含更多数字小部件。在 Ajax 的成功函数中,我通过其 JQuery UI 类名访问 UI 控件,但没有添加任何类名,即不执行脚本。如果我在 100 毫秒后使用 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);
           }
        });

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

【问题讨论】:

  • 更新了查询

标签: javascript jquery ajax performance jquery-events


【解决方案1】:

听起来您可能正试图在一切初始化之前访问 DOM。您是否尝试过将 ajax 请求的初始化封装在 jQuery $(document).ready() 调用中?这可确保您的 DOM 在被触发之前处于初始化状态。

https://learn.jquery.com/using-jquery-core/document-ready/

【讨论】:

  • 我只在源文件的document.ready中调用了ajax请求,但不起作用
  • setTimeout 显然是在让它成为一个计时的东西,所以任何可能会延迟某种初始化的东西似乎都是一个很好的起点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 1970-01-01
  • 2012-09-03
  • 1970-01-01
  • 1970-01-01
  • 2016-07-10
  • 1970-01-01
相关资源
最近更新 更多