2010-04-04 12 views
1

J'utilise Prettify pour la mise en évidence de la syntaxe, mais cela ne fonctionne pas avec le code généré dynamiquement.Utilisation de Prettify sur un code généré dynamiquement

J'ai un formulaire qui, une fois soumis génère du code et l'affiche (sans actualisation) dans <div id="output></div>, mais prétendre ne fonctionne pas sur ce code, est-il une solution de contournement?

Merci beaucoup!

+0

Comment appelez-vous enjoliver? –

+0

body onload = .... – 3zzy

+0

Pas exactement digne de réponse, mais, essayez

- avec les deuxièmes guillemets ou peu importe comment ils sont appelés (il est manqué de l'autre côté de la sortie) – Jack

Répondre

1

Assurez-vous de rappeler Prettify une fois le nouveau code chargé.

Vous devrez ajouter un gestionnaire à l'événement 'Submit'. Je ne sais pas si vous utilisez un framework ou un JS brut, donc je ne peux pas donner un exemple de code.

1

Il existe une bonne solution au http://www.codingthewheel.com/archives/syntax-highlighting-stackoverflow-google-prettify.

En bref:

  • écouter un événement: l'utilisateur est inactif pendant X secondes (après avoir appuyé sur la touche)
  • lancer la fonction Prettify prettyPrint()
  • (si un utilisateur commence à taper avant X secondes ne pas exécuté Prettify)

.

$(document).ready(function() { 
    $('#mytextarea').keydown(function() { 
    $(this).stopTime(); 
    $(this).oneTime(1000, function() { 
     /* launch the Prettify here */ 
    }); 
    }); 
}); 

code copié à partir http://www.codingthewheel.com/archives/syntax-highlighting-stackoverflow-google-prettify