我以前从未见过有人这样做,所以我想我会把它扔在那里。
我有一个遗留页面,在每个单选按钮列表上都有一个内联 onclick 事件:
onclick="handleService(document.forms.ContactForm,5,16,5,0,0);"
此代码执行 AJAX 调用以获取其他 HTML,然后根据单击的单选按钮附加其他表单元素。这个 handleService 函数包含在一个远程 Javascript 文件中,我无法在本地编辑或复制该文件,因为它是动态生成的并且可以更改。
我想知道是否可以使用 jQuery(或其他方式)来捕获这个 onclick 事件,然后以某种方式向它添加一个回调函数。
每次单击单选按钮时,我都试图让两个表格列的高度相同。添加额外的表单元素会导致其中一列的大小增加/缩小。我尝试在 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(...) 调用中。不应该吗?