私はEXTJで働いています。以下の例を確認してください。
var containerForm=Ext.widget('panel',{
width: 1100,
border: false,
frame: true,
"layout":"fit",
title: 'Add User',
hidden:true,
listeners:{
'afterrender': function(panelObj,eOpts )
{
panelObj.doLayout();
}
}
});
上記のパネルのHTMLは、次のコードに示すようにajax応答を介して更新されています。
formObj.update(jsonResp.html,true,function(){
containerForm.doLayout();containerForm.focus();
});
containerFormは自動高さパネルです。このパネルは複数の目的に使用されるため、
このパネルコンテンツに「formObj.update」を入力すると、コンテンツは正しく読み込まれますが、
ajax応答「jsonResp.html」に画像がある場合、そのときdoLayout()関数はパネルの高さを適切に調整するのに役立ちません。
2か所にdoLayout関数を追加しましたが、上記の場合、コールバック関数は役に立ちません。
2秒後にdoLayout関数を呼び出すと、正しく機能するだけです。
formObj.update(jsonResp.html,true,function(){
setTimeout('containerForm.doLayout(); containerForm.focus();', 2000);
});
doLayout関数を使用するための適切なリスナーはどれですか?