私は .ajaxComplete をリンク クリック イベントに関連付けており、一度だけ起動する必要があります。
$(document).delegate('.links', 'click', function(evt) {
evt.preventDefault();
var origanalUrl = $(this).attr('href');
var hrefRegEx = /^(^\/?{[A-Za-z\_]*\/?)?([A-Za-z\_]+)(\.php)$/
var hashUrl2 = origanalUrl.replace(hrefRegEx, '$2');
var hashUrl = '#' + hashUrl2;
var urlExt = ' #ajaxTarget';
var newUrl = origanalUrl + urlExt;
if(!$(hashUrl).html() && hashUrl != '#index') {
$(hashUrl).load(newUrl).ajaxComplete(function(event, XMLHttpRequest, ajaxOptions) {
newMain = $(hashUrl);
newHeight = newMain.outerHeight();
alert(newHeight);
$('#textBox_main').animate({
height: newHeight
}, 500, function() {
newMain.fadeIn(500);
});
oldMain = newMain;
});
} else {
isLoaded = true;
}
最初のクリックは問題ありませんが、追加の各クリックは次の ajaxComplete 呼び出しでスタックします。これを防ぐにはどうすればよいですか?