close

執行順序

$(document).ready()

Sys.Application.add_load()

差別

都是在頁面初始化時就會呼叫,不過還是有點細微的差異

一般情況下沒什麼差別.但是在使用updatepanel的環境就差別很大了

$(document).ready() 在一般的postback,每次都會被觸發,但是在ajax postback 是不會被觸發的.

Sys.Application.add_load() 則是無論哪種postback都會被觸發

應用

當使用jQuery 註冊一些元件時,如果元件包含在updatepanel裡就要使用Sys.Application.add_load()以確保在ajax postback之後都會被註冊到

範例

<script>
    function ajaxLoad() {
        alert("ajax library add_load");
    }
    function documentReady() {
        alert("jquery document ready");
    }
 </script>
<asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <script>
            $(documentReady);
            Sys.Application.add_load(ajaxLoad);
        </script>
        <asp:Button ID="Button5" runat="server" Text="Postback" />
    </ContentTemplate>
</asp:UpdatePanel>

當頁面第一次被執行時 , documentReady 跟 ajaxLoad 都會被呼叫,但是當 Button5 被按下時 就只有 ajaxLoad 會被呼叫.

arrow
arrow
    文章標籤
    jQuery
    全站熱搜
    創作者介紹
    創作者 丫烈客 的頭像
    丫烈客

    丫烈客

    丫烈客 發表在 痞客邦 留言(0) 人氣()