在单击按钮时,我要触发对执行某些Ajax(后端逻辑)操作的另一个div的单击,然后触发对按钮的实际单击。
我尝试了以下失败的尝试
$('#button').click(function(event) {
$("#someDiv").click(); //at this point the ajax content will load..
return true;
});
最佳答案
您可以使用布尔值保存状态并在#button
上单击两次,仅在加载了ajax后才执行实际单击。
发出ajax请求时,您也可以禁用该按钮。
var ajaxLoaded = false;
$('#button').click(function(event) {
if (!ajaxLoaded){
$('#button').prop('disabled', true);
$("#someDiv").click();
return false;
}
ajaxLoaded = false;
$('#button').prop('disabled', false);
return true;
});
然后在ajax请求的成功回调中,更新
ajaxLoaded
的值并触发点击ajaxLoaded = true;
$('#button').click();
Fiddle Example(使用setTimeout模拟一些异步延迟)