Y a-t-il un moyen de lancer un événement après la cuisson HTML ()? Tels que: ceci ne fonctionne pas. P> EDIT: Je le demande parce que je veux faire peu de choses (un autre appel) avec les informations provenant de l'appel ... Je voulais simplifier l'exemple ... Je suppose que les programmeurs veulent toujours savoir pourquoi ... p> Voici donc l'exemple mis à jour p>
5 Réponses :
non, mais il n'y a aucune raison pour laquelle vous ne pouviez pas faire cela:
Eh bien, je vais exactement cela ... Néanmoins, les GetRèglions sont lancées avant que les données ne soient entièrement chargées et que l'ID saisit n'est donc pas le bon.
@ user903645 Vous avez un autre bug qui se passe, vous devez sortir n'importe quoi après .html () code>, puis fouettez le DOM Inspecteur et vérifiez que le HTML était correct.
Il suffit de mettre votre code après cela: P> html () code> est une opération synchrone, pas un événement, et il n'accepterait donc pas logiquement un rappel.
$('container').html(data);
alert('test');
Je ne vois toujours pas le besoin d'un rappel. HTML () CODE> est synchrone - il n'y a pas besoin (en effet, aucun moyen) pour un rappel après l'informatique, car il n'y a pas de concept de rappel dans des opérations synchrones. Pourquoi ne pouvez-vous pas simplement faire des choses après cela, comme nous l'avons tous dit?
lol encore non .. j'ai besoin du HTML (données) pour obtenir l'identifiant correct. Je fais déjà ce que vous dites tous les gars, mais l'identifiant saisi n'est pas le bon ... J'ai besoin de la fonction pour saisir la bonne pièce d'identité et il n'est pas possible avant que HTML (données) soit complètement effectué.
Cette syntaxe peut également vous intéresser:
$(selector).html(function(index,oldHTML){ alert("test"); return data; });
Vous pouvez inclure le code JavaScript dans votre réponse HTML. Un exemple en ligne: mettrait à jour la DIV et exécuterait également le code. P> p>
Oui, vous pouvez ...
// create a reference to the old `.html()` function var htmlOriginal = $.fn.html; // redefine the `.html()` function to accept a callback $.fn.html = function(html,callback){ // run the old `.html()` function with the first parameter var ret = htmlOriginal.apply(this, arguments); // run the callback (if it is defined) if(typeof callback == "function"){ callback(); } // make sure chaining is not broken return ret; } // test it all works as expected (including chaining) $("#mything").html("<div>My Thing</div>",function(){ console.log("Just did my thing"); }).css({color: 'red'})
Moyen de promouvoir la programmation accidentelle. Vous êtes complètement mal compris ce qui se passe, cela n'a pas corrigé votre code, mais un changement accidentel que vous avez appliqué qui n'était pas présent avant. J'essaie simplement de souligner qu'il est toujours avantageux de comprendre les vraies raisons du comportement de Code comme ça.
J'aime bien la centaine de singes approche de programmer moi-même - peut-être pas le plus efficace, mais beaucoup plus gratifiant quand il vient, ~)
J'ai commencé à appliquer cette réponse à une autre question, mais devait apporter des changements sur le chemin de ne pas casser .html () code> pour aller chercher le contenu (et ne pas casser la chaîne). Si cela vous intéresse: jsfiddle.net/ga2zv :)