Situation: J'envoie une requête ajax qui renvoie le code HTML contenant les éléments nécessitant des gestionnaires d'événements. Le code qui définit les gestionnaires pour ces éléments est contenu dans un fichier javascript distinct.Chargement de javascripts dans les rappels ajax
J'ai utilisé le code suivant pour charger les fichiers js requis lors du rappel en scriptant la balise <head
>. Je n'ai pas eu de problèmes jusqu'à présent, mais je me demandais si c'est une approche sûre et fiable (en particulier cross-navigateur).
function ajax_callback(response) {
document.getElementById('dom_id_to_update').innerHTML = response;
import_js('/path/to/js/file/');
}
function import_js(src) {
var scriptElem = document.createElement('script');
scriptElem.setAttribute('src',src);
scriptElem.setAttribute('type','text/javascript');
document.getElementsByTagName('head')[0].appendChild(scriptElem);
}
Merci, Brian
Ils auraient * un gestionnaire * attaché, mais sans doute pas le * droit * un. Je suppose qu'il a une * raison * qu'il doit charger un script externe, plutôt que de simplement référencer des fonctions dans son script existant comme il le ferait avec 'live' (ou toute autre forme de délégation d'événement, ce n'est pas propre à jQuery) . –