久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

jquery - jquey tabs ajax load html 沖突問題?

瀏覽:155日期:2024-03-21 13:23:11

問題描述

tabs load的html,里面有js,也有html,id,都有可能沖突,如何解決?

(不用ifame哦,iframe每次加載明顯不如load,即便是緩存,也要初始化很多的,而且iframe內部帶的dialog要在iframe外顯示也很費勁,多個頁面有同樣的dialog也會出現這種問題)

問題解答

回答1:

有三種方案:

用某種命名規范把 id 修改成互不沖突的形式。雖然這個解決方案看起來最不符合題主的要求,但是個人最推薦這么做,會減少后期的不少麻煩。如果這些 html 邏輯上是在同一個界面上的,那么它們就本該具有不同的 id,要不以后寫邏輯和樣式的時候都會遇到麻煩。

假設只是 tab 的 html 會有 id 沖突,且同時顯示的 tab 只有一個,那么可以考慮每次切 tab 的時候都把沒顯示的 tab 從 DOM 里面 detach,當需要的時候再 append。

使用 <iframe src='about:blank'></iframe> 來顯示 html,通過設置 <iframe> 的 contentWindow.document.body.innerHTML 可以修改它的內容。如果還希望能很好的顯示 html 的外帶樣式和腳本,還有各種 dialog,也可以有各種 hack 的方法,但總歸是個 hack,后患無窮。

P.S. 應題主要求,補充一些 hack 的思路。

如何讓 jQuery UI 的 dialog 默認插入到指定的地方?

可以通過下面代碼覆蓋 dialog 的默認選項,其中關鍵的是 appendTo 這個選項。

$.extend($.ui.dialog.prototype.options, { appendTo: tabNode});

每次加載 tab 前、切換 tab 后的時候都把這個選項設置一下,設置成當前顯示的這個 tab node。

標簽: HTML
相關文章:
主站蜘蛛池模板: 上思县| 永平县| 隆回县| 沂水县| 福海县| 泰兴市| 庄河市| 青岛市| 宝鸡市| 江西省| 广水市| 新疆| 东乡县| 安丘市| 宁蒗| 颍上县| 泗水县| 高陵县| 宁化县| 通化县| 延津县| 花莲县| 孝感市| 闽侯县| 铁岭县| 拜泉县| 新巴尔虎右旗| 米林县| 新密市| 子洲县| 中阳县| 泾川县| 四子王旗| 南涧| 托克托县| 辽阳市| 富民县| 涞源县| 青海省| 江油市| 新干县|