0

ページのJavascriptページロードにJavascriptイベントを追加する必要がCollapsiblePanelExtenderあります。以下はの定義ですCollapsiblePanelExtender

    <cc1:CollapsiblePanelExtender ID="cpe" runat="Server" TargetControlID="pnlInstances" 
     BehaviorID="cpe" ImageControlID="lnkWebroleAction" ExpandedImage="~/App_Themes/Default/images/MonitorDownArrow16.png"CollapsedImage="~/App_Themes/Default/images/MonitorLeftArrow16.png" 
     CollapsedSize="0" Collapsed="false" ExpandControlID="lnkWebroleAction" CollapseControlID="lnkWebroleAction"
     AutoCollapse="false" AutoExpand="false" ExpandDirection="Vertical" SuppressPostBack="true" />

そして、以下は私が実行しているJavascriptコードです。

window.onload = pageLoad1();
    function pageLoad1() {$find("cpe").add_expandComplete(coll_ExpandedComplete);                                
    }

問題は$find("cpe")、このイベントでnullを返すことです。ボタンクリックから同じ機能を実行すると、オブジェクトを見つけることができます。
他に使用できるJavascriptのロードイベントはどれですか?私は試し$(documnt).readyました。

4

2 に答える 2

1

pageLoad1関数をに割り当てているのではなくwindow.onload、すぐに呼び出して、返される値を割り当てています(つまりundefined)。

あなたは書く必要があります:

window.onload = pageLoad1;  // No parenthesis.
function pageLoad1() {
    $find("cpe").add_expandComplete(coll_ExpandedComplete);
}

または、ページの読み込みが完了するとフレームワークによって自動的に呼び出されるpageLoad()関数を記述します。

function pageLoad() {
    $find("cpe").add_expandComplete(coll_ExpandedComplete);
}
于 2012-07-18T08:57:12.280 に答える
0

OPに同意します。(元の回答者が指摘したように)元の投稿にエラーがあり、ここに実際の問題がないように見せかけるのに十分です。しかし、私は複雑なJS / Ajax駆動のページを持っており、PageLoadで/is/呼び出されるJS関数のBehaviorIDによってASP.NETAjaxCollapsiblePanelExtenderオブジェクトを取得しようとするコードがあります。

これらのオブジェクトは通常準備ができていますが、準備ができていない場合もあります。わずかな遅延(100ms)でコードを実行しようとすると、準備ができています。しかし、一定時間の遅延は大きくありません。これらのASP.NETAjaxオブジェクトが自分自身の構築を完了したことを知るために、どのイベントを使用できますか?

于 2012-11-28T12:15:53.193 に答える