簡體   English   中英

將外部HTML文件加載到div並使用其js函數

[英]Load external html file to div and use its js functions

我有一些股利:

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

現在,我想將一個外部html文件加載到該div中並使用其js函數。

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

主要問題是我有幾個div,我將這個html文件加載到它們中,我希望當我激活js函數時,它只能在特定的div上工作。

傳遞參數以查看要加載的視圖,該參數將指示已加載視圖的容器:

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

我記得當發布jQuery1.4時我遇到了問題。 在該版本中,當指定目標容器時,.load .load()突然開始剝離js。

我當時做的是:

  1. 將html和js分別放在不同的文件(例如myhtml.htmlmyjs.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,則通過ajax調用將js動態加載到頁面中
  6. 以目標div作為參數動態調用入口點函數

這也適用於CSS。 它需要一些時間來在所有導航器上進行調整(IE上的css部分數量有限,以不同的方式動態調用函數),並且我以最初期望的更多代碼結尾。 這也需要大量重構我的html / js模塊(但是我必須承認我結束了真正干凈的代碼)

我敢肯定,目前有一些框架可以更好地處理這種情況。 但這就是我當時想出的。

希望這會有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM