2013-02-13 262 views
0

我有一些DIV:加載外部HTML文件的div和使用其JS功能

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

現在我要加載到該div外部HTML文件,使用其JS功能。

我知道我可以使用jQuery.Load()加載它,它工作正常,問題是我想使用html js函數。

主要問題是我有幾個div,我加載這個html文件到他們,我想當我激活js函數它只會在特定div上工作。

+0

我認爲你也可以使用$ .ajax,然後在成功回調加載整個HTML響應特定的div。 – 2013-02-13 09:01:34

回答

0

傳遞參數,查看您所裝入的是將指示加載視圖的容器:

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

好的,那我該如何使用js函數?我怎麼能確定我只使用特定div的函數? – 2013-02-13 08:58:31

+0

如果視圖是動態的,那麼您可以使用服務器端語言處理容器變量。您正在加載靜態還是動態的視圖? – karaxuna 2013-02-13 09:07:59

+0

我不確定你在問什麼,我將一個靜態HTML文件加載到我使用jQuery在運行時創建的div中,是否有可能編寫一個簡單的如何使用示例? – 2013-02-13 09:15:03

0

我記得我有問題回來jQuery1.4發出時。在那個版本中,​​出現在指定目標容器時開始剝離出js。

我沒有在那個時候什麼:

  1. 獨立的HTML和JS在不同的文件(讓我們說myhtml.htmlmyjs.js),或視圖
  2. 有我的js文件的行爲作爲一個js模塊,與公共入口點函數(比如initContent)取一個jQuery元素作爲參數傳遞
  3. myhtml.html一種無形的紐帶,即<a href="myjs.js#initContent" class="dynamicJs" style="display:none;"></a>
  4. 加載myhtml.html到我的目標股利後,搜索$('a.dynamicJs')在我的目標DIV從href
  5. 如果JS以前沒有被加載JS提取URL,以及入口點函數,動態加載JS到trhough一個Ajax調用的頁面
  6. 動態與目標DIV調用入口點函數的參數

這也與CSS工作。 它需要一些時間來調整它在所有導航器上(在IE上有限的css部分數量,以不同的方式動態調用一個函數),並且我以更多的代碼結束了我期望的第一個地方。它還需要我的html/js模塊的很多重構(但我必須承認我結束了一個非常乾淨的代碼)

我確信現在有更好的框架來處理這種情況。但那是我當時想出來的。

希望這會有所幫助