私はこれまで誰もこれをしているのを見たことがないので、私はそれをそこに捨てると思いました。
ラジオボタンのリストのそれぞれにインラインonclickイベントがあるレガシーページがあります。
onclick="handleService(document.forms.ContactForm,5,16,5,0,0);"
このコードは、AJAX呼び出しを実行して追加のHTMLを取得し、クリックされたラジオボタンに応じて追加のフォーム要素を追加します。このhandleService関数は、動的に生成されて変更される可能性があるため、ローカルで編集またはコピーできないリモートJavascriptファイルから含まれています。
jQuery(またはその他)を使用してこのonclickイベントをキャプチャし、それから何らかの方法でコールバック関数を追加することが可能かどうか疑問に思っています。
ラジオボタンがクリックされるたびに、2つのテーブル列を同じ高さにしようとしています。フォーム要素を追加すると、列の1つがサイズが拡大/縮小します。onclickでhandleServiceを呼び出した直後に高さを修正する関数を追加しようとしましたが、追加のフォーム要素が追加される前に高さが修正されます。おそらく、高さを修正する呼び出しの前にAJAX呼び出しが終了していないためです。 (したがって、コールバックが必要です)。
更新これがajaxComplete(ajaxSucessのようなグローバル関数)への私の呼び出しです:
$('.gq_steps').ajaxComplete(function(e, xhr, settings) {
alert('here');
if (settings.url == 'geoquote_services.php') {
$('#first_col').height($('#third_col').height());
}
});
handleServiceはjQueryを使用していませんが、それは問題ではありませんよね?ajaxSucess / ajaxCompleteは、関係なくすべてのajaxリクエストを取得する必要があります。私はそれを次のコードまでずっとダミングしようとしましたが、それでも呼び出されません。
$(document).ajaxComplete(function() {
console.log('here');
});
これは$(document).ready(...)呼び出しの中にあります。そうではないでしょうか?