欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在多個(gè)頁(yè)面使用同一個(gè)HTML片段的代碼

 更新時(shí)間:2011年03月04日 00:36:55   作者:  
有一個(gè)比較復(fù)雜的HTML片段(A),如果把這個(gè)HTML片段嵌入到其他頁(yè)面中(B,C,D....)。 問題的關(guān)鍵是在HTML片段中有大量的JavaScript邏輯需要處理,比如說(shuō)分頁(yè),點(diǎn)擊事件響應(yīng)等。

問題描述
有一個(gè)比較復(fù)雜的HTML片段(A),如果把這個(gè)HTML片段嵌入到其他頁(yè)面中(B,C,D....)。
問題的關(guān)鍵是在HTML片段中有大量的JavaScript邏輯需要處理,比如說(shuō)分頁(yè),點(diǎn)擊事件響應(yīng)等。

對(duì)于這個(gè)問題,我們用一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明:
“頁(yè)面上有一個(gè)按鈕,點(diǎn)擊此按鈕引入一個(gè)HTML片段,此HTML片段中有分頁(yè)按鈕?!?

1. 使用IFrame
主頁(yè)面,點(diǎn)擊一個(gè)按鈕向頁(yè)面引入一個(gè)IFrame:

復(fù)制代碼 代碼如下:

    <script type="text/javascript">
        $(function() {
            $("#clickToInsert").click(function() {
                $("#placeholder").html('<iframe src="iframe.htm"></iframe>');
            });
        });
    </script>
    <input type="button" id="clickToInsert" value="Insert HTML" />
    <div id="placeholder">
    </div>
    IFrame頁(yè)面,模擬分頁(yè)的情況:
    <script type="text/javascript">
        $(function() {
            var parent = $("#complex_page_segment");
            $(".previous", parent).click(function() {
                $(".content", parent).html("Previous Page Content");
            });
            $(".next", parent).click(function() {
                $(".content", parent).html("Next Page Content");
            });
        });
    </script>
    <div id="complex_page_segment">
        <input type="button" value="Previous Page" class="previous" />
        <input type="button" value="Next Page" class="next" />
        <div class="content">
            Page Content</div>
    </div>

2. AJAX返回頁(yè)面片段,并注冊(cè)事件
注:我們通過(guò)textarea來(lái)模擬返回的HTML片段。

復(fù)制代碼 代碼如下:

    <script type="text/javascript">
        $(function() {
            $("#clickToInsert").click(function() {
                $("#placeholder").html($("#clone").val());
                var parent = $("#complex_page_segment");
                $(".previous", parent).click(function() {
                    $(".content", parent).html("Previous Page Content");
                });
                $(".next", parent).click(function() {
                    $(".content", parent).html("Next Page Content");
                });
            });
        });
    </script>
    <input type="button" id="clickToInsert" value="Insert HTML" />
    <div id="placeholder">
    </div>
    <textarea id="clone" style="display: none;">
    <div id="complex_page_segment">
        <input type="button" value="Previous Page" class="previous" />
        <input type="button" value="Next Page" class="next" />
        <div class="content">Page Content</div>
    </div>
    </textarea>

由于我們需要在多個(gè)頁(yè)面引用同一個(gè)HTML片段,這種方法導(dǎo)致大量事情處理被重復(fù)性的拷貝粘貼,明顯我們需要將公共的方法提取出來(lái)。

3. AJAX返回頁(yè)面片段,并調(diào)用頁(yè)面片段中的函數(shù)注冊(cè)事件

復(fù)制代碼 代碼如下:

    <script type="text/javascript">
        $(function() {
            $("#clickToInsert").click(function() {
                $("#placeholder").html($("#clone").val());
                init_complex_page_segment();
            });
        });
    </script>
    <input type="button" id="clickToInsert" value="Insert HTML" />
    <div id="placeholder">
    </div>
    <textarea id="clone" style="display: none;">
    <script type="text/javascript">
        function init_complex_page_segment() {
            var parent = $("#complex_page_segment");
            $(".previous", parent).click(function() {
                $(".content", parent).html("Previous Page Content");
            });
            $(".next", parent).click(function() {
                $(".content", parent).html("Next Page Content");
            });
        }
    </script>
    <div id="complex_page_segment">
        <input type="button" value="Previous Page" class="previous" />
        <input type="button" value="Next Page" class="next" />
        <div class="content">Page Content</div>
    </div>
    </textarea>

其實(shí)我們可以更進(jìn)一步,完全沒必要手工調(diào)用這個(gè)函數(shù),而是可以在返回的HTML片段中讓其自動(dòng)執(zhí)行。

4. AJAX返回頁(yè)面片段,其事件自動(dòng)注冊(cè)

復(fù)制代碼 代碼如下:

    <script type="text/javascript">
        $(function() {
            $("#clickToInsert").click(function() {
                $("#placeholder").html($("#clone").val());
            });
        });
    </script>
    <input type="button" id="clickToInsert" value="Insert HTML" />
    <div id="placeholder">
    </div>
    <textarea id="clone" style="display: none;">
    <script type="text/javascript">
        $(function() {
            var parent = $("#complex_page_segment");
            $(".previous", parent).click(function() {
                $(".content", parent).html("Previous Page Content");
            });
            $(".next", parent).click(function() {
                $(".content", parent).html("Next Page Content");
            });
        });
    </script>
    <div id="complex_page_segment">
        <input type="button" value="Previous Page" class="previous" />
        <input type="button" value="Next Page" class="next" />
        <div class="content">Page Content</div>
    </div>
    </textarea>

最后一種方法和第一種IFrame的方式是我們所推薦的。
下載源代碼

相關(guān)文章

  • js時(shí)間戳格式化成日期格式的多種方法介紹

    js時(shí)間戳格式化成日期格式的多種方法介紹

    本篇文章主要介紹了js時(shí)間戳格式化成日期格式的多種方法介紹的資料,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。
    2017-02-02
  • javascript 強(qiáng)制刷新頁(yè)面的實(shí)現(xiàn)代碼

    javascript 強(qiáng)制刷新頁(yè)面的實(shí)現(xiàn)代碼

    javascript 強(qiáng)制刷新頁(yè)面的代碼,大家經(jīng)常能用的到。
    2009-12-12
  • JS檢測(cè)圖片大小的實(shí)例

    JS檢測(cè)圖片大小的實(shí)例

    這篇文章介紹了JS檢測(cè)圖片大小的實(shí)例,有需要的朋友可以參考一下
    2013-08-08
  • 客戶端 使用XML DOM加載json數(shù)據(jù)的方法

    客戶端 使用XML DOM加載json數(shù)據(jù)的方法

    我們?nèi)〕鰯?shù)據(jù)后可以以json的形式傳到前端處理,也可以以Xml Dom的形式傳到前端進(jìn)行處理。下邊例子是利用Jquery處理XML Dom的例子。
    2010-09-09
  • js showModalDialog彈出窗口實(shí)例詳解

    js showModalDialog彈出窗口實(shí)例詳解

    本篇文章主要是對(duì)js showModalDialog彈出窗口進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-01-01
  • 一個(gè)JavaScript防止表單重復(fù)提交的實(shí)例

    一個(gè)JavaScript防止表單重復(fù)提交的實(shí)例

    防止重復(fù)表單提交的方法有很多,本文使用JavaScript來(lái)實(shí)現(xiàn)防止表單重復(fù)提交,很簡(jiǎn)單,但很實(shí)用,新手朋友們不要錯(cuò)過(guò)
    2014-10-10
  • Postman的下載及安裝教程詳解

    Postman的下載及安裝教程詳解

    這篇文章主要介紹了Postman的下載及安裝教程詳解,今天給大家介紹的這款網(wǎng)頁(yè)調(diào)試工具不僅可以調(diào)試簡(jiǎn)單的css、html、腳本等簡(jiǎn)單的網(wǎng)頁(yè)基本信息,它還可以發(fā)送幾乎所有類型的HTTP請(qǐng)求!需要的朋友可以參考下
    2018-10-10
  • uniapp中scroll-view基礎(chǔ)用法示例代碼

    uniapp中scroll-view基礎(chǔ)用法示例代碼

    我們?cè)陧?xiàng)目中往往都能遇到實(shí)現(xiàn)左右滑動(dòng)跟上下滑動(dòng)的需求,下面這篇文章主要給大家介紹了關(guān)于uniapp中scroll-view基礎(chǔ)用法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • JS替換字符串中指定位置的字符(多種方法)

    JS替換字符串中指定位置的字符(多種方法)

    這篇文章主要介紹了js替換字符串中指定位置的字符,本文通過(guò)兩種方法實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 淺談小程序globalData的那些事兒

    淺談小程序globalData的那些事兒

    這篇文章主要介紹了淺談小程序globalData的那些事兒,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評(píng)論