0

jquery + jqueryui を参照するマスター ページがあります。すべて順調。私が配置したコンテンツページで:

  $(document).ready(function () {
        $("#tabs").tabs();
    });

コンテンツ ページの html が読み込まれる前に、ready イベントが発生することがわかりました。では、コンテンツ ページ全体がいつ読み込まれたかを判断するにはどうすればよいでしょうか。

編集これは私のマークアップです:

マスターページ:

<form runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
  <Scripts>
    <asp:ScriptReference Path="~/Scripts/jquery-1.4.1-vsdoc.js" />
    <asp:ScriptReference Path="~/Scripts/jquery-ui-1.8.2.custom.min.js" />
  </Scripts>
</asp:ScriptManager>

コンテンツページ:

<div id="tabs">
    <div id="whatWorkedWellDiv">
        <fieldset>
            <legend>What Worked Well</legend>
            <br />
            <label for="user">
                Name</label>
            <input type="text" name="user" value="" /><br />
            <label for="emailaddress">
                Email Address:</label>
            <input type="text" name="emailaddress" value="" /><br />
            <label for="comments">
                Comments:</label>
            <textarea name="comments"></textarea><br />
            <label for="terms">
                Agree to Terms?</label>
            <input type="checkbox" name="terms" class="boxes" /><br />
            <input type="submit" name="submitbutton" id="submitbutton" value="Submit" />
        </fieldset>
    </div>
    <div id="whatCouldHaveGoneBetterDiv">
        <fieldset>
            <legend>What could have gone better</legend>
            <br />
            <label for="user">
                Name</label>
            <input type="text" name="user" value="" /><br />
            <label for="emailaddress">
                Email Address:</label>
            <input type="text" name="emailaddress" value="" /><br />
            <label for="comments">
                Comments:</label>
            <textarea name="comments"></textarea><br />
            <label for="terms">
                Agree to Terms?</label>
            <input type="checkbox" name="terms" class="boxes" /><br />
            <input type="submit" name="submitbutton" id="submit1" value="Submit" />
        </fieldset>
    </div>
</div>

Jスクリプト:

$(document).ready(function () { $("#tabs").tabs(); });
4

3 に答える 3

1

ハンドラーは実際に実行されるDOMで起動するため、これを使用してframes/iframesいる場合は可能かもしれません。.ready()

これが発生する可能性のある別の方法は、サイトの一部を「後負荷」した場合ですasyncronous

いずれにせよ、サイトに異なるDOMがある場合は.ready()、それらすべてに個別のハンドラーが必要です。

これらのコンステレーションがない場合は、htmlマークアップを提供してください。

于 2010-06-07T09:14:50.297 に答える
0

MasterPage で次のことを試してください。

<script language="javascript" type="text/javascript" src='<%=ResolveClientUrl("~/Scripts/jquery-1.4.2.min.js")%>'></script> 
于 2010-08-04T09:09:48.863 に答える