当我点击“保存”按钮时,我想首先使用html2canvas保存图像(有时需要1到3秒)完成后我需要回调来运行其他功能。
点击我的保存按钮也会重定向到另一个页面,并且在此功能中使用了这个json:
$('#save').click(function(event){
event.preventDefault();
if($('#slideshow li img').attr('src').indexOf('placehold.it') >= 0 && $('#slideshow').is(':visible')){
alert('Please add a image to Slideshow or remove it to continue.');
} else {
html2canvas($('.bg'), {
allowTaint:false,
useCORS:true,
logging:true,
proxy:''+builderURL+'proxy.php',
}).then(function(canvas) {
var dataURL = canvas.toDataURL("image/png");
$.post(''+builderURL+'thumb.php',{
template_thumb: dataURL,
template_id: TEMPLATE_ID
});
});
// if i run functions from here, i lose html2canvas bec this takes 1-2secounds and my save function is redirecting on click
}
alert('if image is generated continue from here')
$('#DataState, #DataTemplate').val('');
createJSON();
createHTMLJSON();
createCSS();
});
如果我像现在一样运行它,我会被重定向而没有图像。 在哪里添加回调?在html2canvas之后尝试并且没有。
答案 0 :(得分:0)
我认为您必须调用异步请求。在JQuery中,您可以使用.ajax。 http://api.jquery.com/jquery.ajax/ 执行该函数后,将执行回调函数。