在按钮上点击,我想触发另一个正在做一些Ajax(后端逻辑)操作的div,点击按钮上的,然后触发实际点击。onclick做功能,然后点击
我曾尝试没有成功
$('#button').click(function(event) {
$("#someDiv").click(); //at this point the ajax content will load..
return true;
});
在按钮上点击,我想触发另一个正在做一些Ajax(后端逻辑)操作的div,点击按钮上的,然后触发实际点击。onclick做功能,然后点击
我曾尝试没有成功
$('#button').click(function(event) {
$("#someDiv").click(); //at this point the ajax content will load..
return true;
});
以下尝试这样做。的。单击是。对(点击),听者的快捷方式,而不是触发:
$('#button').click(function(event) {
$("#someDiv").trigger("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 = true;
$('#button').click();
Fiddle Example(使用setTimeout的模拟一些异步延迟)
为什么不更新的
ajaxLoaded
的值,并触发点击只是在你的函数中做ajax? – Zl3n你可以试试'$(“#someDiv”).trigger(“click”);'看看它是否有帮助 – silkAdmin
你是否希望启动ajax请求,然后立即处理原始按钮点击?或者是否希望延迟处理原始点击处理程序的其余部分,直到ajax请求成功完成并返回响应为止?如果前者,你的代码应该工作,我想。如果是后者,则需要重写原始的单击处理程序,将其逻辑的其余部分作为回调传递给ajax请求。 –