javascript - 如何从动态加载到我的 div 中的外部 html 文件运行 JavaScript 函数?

标签 javascript jquery html ajax

我使用以下方式将外部 html 页面插入到我的 div 中:

      $.ajax({
          url: "myHTML.html",
          method: 'GET',
          success: function (data) {
              $("#outputDiv").html(data);
          },
          Error: function (err) {
              alert("ERROR: " + err);
          }
      });

效果很好, 问题是我想运行一些位于“myHTML.html”文件中的 JavaScript 函数, 有没有办法做类似的事情?

谢谢(=

最佳答案

将脚本保留在要加载内容的页面中通常要容易得多。如果您有一组文件都使用相同的 ajx 来加载,并且都调用相同的函数,则尤其如此。这减少了通过代码修订来更改多个文件的需要。

$.ajax({
      url: "myHTML.html",
      method: 'GET',
      success: function (data) {
          $("#outputDiv").html(data);
          /* new html exits so can run code here that affects it*/
          newHtmlAdded();
      },
      error: function (err) {/* note typo on capital "E" fixed*/
          alert("ERROR: " + err);
      }
  });

  function newHtmlAdded(){
       fixmFormStyle();
       addMyValidation(); 
      doSomethingElse();
  }

否则,重要的是要意识到正在加载的页面中已经发生了 ready 事件。这意味着 ready 处理程序中包含的任何代码都将立即触发。如果代码位于远程文件中的 html 之前,它将在 DOM 中存在相应的 html 元素之前触发...并且不会执行任何操作。

放置在远程文件中 html 之后的代码将起作用,因为它引用的 html 已经被处理

关于javascript - 如何从动态加载到我的 div 中的外部 html 文件运行 JavaScript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11109597/

相关文章:

javascript - NodeJS计划支持导入/导出es6(es2015)模块

javascript - 使用 jQuery 进行表过滤

javascript - CORS 与返回的 promise 发生冲突

javascript - 在同一级别/高度显示列的内容

javascript - JSON 文件中的对象未填充下拉菜单

javascript - 如何使数组中的每个元素成为另一个数组?

javascript - jQuery scrollTop - 动画在移动结束时卡住

jquery - 为什么jQuery slideDown函数隐藏滚动条?

javascript - 单击播放音频链接

javascript - 如何使网页跟随浏览器窗口的大小,并且在调整大小时,布局不会失真?