我有一个动态页面,我在点击预订链接时从外部PHP文件加载。
我的问题是我需要在PHP页面完全加载之前有时尝试执行的jQuery代码(具体是跟随和删除部分)。因此,当我尝试加载div时,jQuery有时会工作,有时则不会。
从我在其他示例中看到的$(document).ready(function()
应该阻止jQuery执行直到页面完全加载,但是因为我正在加载特定的div(内容)而不是整个页面不工作?
$(document).ready(function(){
$(document).on('click', '.booking', function (){
$('#content').load('calendar.php');
$.getJSON(url,data, function(data) {
$.each(data, function(index, data) {
$("#blocksid"+data.slot_id).css("background-color","#009cd0");
$("#follow"+data.slot_id).hide();
$("#remove"+data.slot_id).show();
});
});
return false;
});
});
提前感谢您的任何帮助!
答案 0 :(得分:0)
您需要设置:
$.ajaxSetup({ async: false });
然后通过以下方式将其重新打开:
$.ajaxSetup({ async: true });
或使用
$.ajax({
async:false
});
答案 1 :(得分:0)
要以可预测的方式实现您的期望,您应该运行相关的JavaScript代码 将内容加载到div后。只需为load方法创建一个回调函数,并在其中包含您的相关代码。
$('#content').load("calendar.php", function() {
//put the code here, that you need to run after loading content to above div
});