将外部html文件加载到div并使用其js函数

时间:2013-02-13 08:49:31

标签: javascript jquery html

我有一些div:

<div id='dialog'></div>

现在我想在这个div中加载一个外部html文件并使用它的js函数。

我知道我可以使用jQuery.Load()加载它并且它工作正常,问题是我想使用html js函数。

主要的问题是我有几个div我将这个html文件加载到它们中,我希望当我激活js函数时它只能在特定的div上工作。

2 个答案:

答案 0 :(得分:0)

传递参数以查看您正在加载的将指示已加载视图的容器:

jQuery.Load(url, { containerId: 'dialog' })

答案 1 :(得分:0)

我记得在发布jQuery1.4时我遇到了问题。在该版本中,.load() suddendly在指定目标容器时开始剥离js。

那时我做了什么:

  1. 在不同的文件中分隔html和js(假设是 myhtml.html myjs.js )或观看次数
  2. 让我的js文件充当js模块,使用jQuery元素作为参数的公共入口点函数(比如initContent
  3. myhtml.html 中有一个不可见的链接,即<a href="myjs.js#initContent" class="dynamicJs" style="display:none;"></a>
  4. myhtml.html 加载到我的目标div后,在我的目标div中搜索$('a.dynamicJs')以提取js url,并从href
  5. 如果之前没有加载过js,请将js动态加载到页面中,然后执行ajax调用
  6. 使用目标div作为参数
  7. 动态调用入口点函数

    这也适用于CSS。 它需要一些时间在所有导航器上进行调整(IE上有限数量的css部分,动态调用函数的方式不同),最后我用更多的代码结束了。它还需要对我的html / js模块进行大量重构(但我必须承认我已经结束了一个非常清晰的代码)

    我确信现在有更好的框架可以更好地处理这种情况。但这就是我当时想出来的。

    希望这会有所帮助