Je pense que la meilleure façon, en supposant que vos requêtes AJAX sont asynchrones, est d'ajouter un paramètre de rappel à votre fonction, qui sera exécuté lorsque la requête se termine.
Puisque vous ne mentionnez pas la bibliothèque JavaScript soit posté votre ajaxfunction
, je suppose que vous pourriez faire des demandes de XHR brutes, le cas échéant, vous pouvez par exemple:
function ajaxfunction (url, elementId, callback) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.onreadystatechange = function(){
if (xhr.readyState == 4) {
if (xhr.status == 200) {
document.getElementById(elementId).innerHTML = xhr.responseText;
callback(); // the content has been loaded to the DOM, executing callback
} else {
alert('error');
}
}
};
xhr.send(null);
}
Et vous pouvez utiliser la fonction comme celui-ci (noter que je ne recommande pas du tout l'événement JavaScript en ligne utilisation obligatoire pour HTML):
<a href="this.php"
onclick="ajaxfunction('thisfile.php','thisDiv', otherFn);return false;">link</a>
la méthode recommandée:
<a href="this.php" id="linkId">link</a>
window.onload = function() {
// Event binding...
document.getElementById('linkId').onclick = function() {
ajaxfunction('thisfile.php','thisDiv', function() {
alert('Content retrieved, this is the callback!');
return false;
});
};
// ....
};
Pour un exemple plus complet, afficher le code de votre ajaxfunction
.
Merci l'homme - n'a pas attrapé cela. –
Vous êtes les bienvenus @Andy, arrive souvent ... – CMS
rock sur que fonctionne - merci! –