bonsoir, j'ai intégré prism la coloration syntaxique, mais j'ai un souci dans le wysiwig,
lorsque je tape le code, cela fonctionne bien mais lorsque le code est intégré dans le wysiwig, je n'arrive pas à en sortir,
après la touche entrée tout mon texte est sous prisme voici une image pour illustrer mon problème
il faudrait que après le la touche entrée et après la lettre "f" je sors de la coloration pour avoir du texte normal....
voici le code jquery (c'est mélanger avec du yui mais comme je m'y fait pas à ce framwork j'ai préférer utiliser jquery)
voici à quoi ressemble le html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Y.namespace('M.atto_code').Button = Y.Base.create('button', Y.M.editor_atto.EditorPlugin, [], { initializer: function () { this.addButton({ icon: 'e/code', callback: this.prism //lorsque je clique sur le $ je fais apparaître un textearea pour le code }); // Attach a submit listener to the form. var form = this.get('host').textarea.ancestor('form'); if (form) { form.on('submit', this._submitClean, this); } }, prism: function () { //wysiwig prism $("#W_prism").show(); //affichage du wysi prisme console.log($("#W_prism").attr("alt")); var wysi = $("#id_pageeditable"); var old_wysi = wysi.html(); // console.log(old_wysi); $("#code_ok").on("click", function () { //une fois terminé le code je clique sur l'élément avec l'id code_ok pour sortir de la coloration syntaxique var le_code = '<code class="language-javascript">' + $('#wysi_prism').val() + '</code>'; //je ferme pourtant la balise mais je reste dans le coloration syntaxique $("#W_prism").hide(); wysi.html(old_wysi + le_code); // console.log(old_wysi + le_code); });
même si je ferme la balise </code> après avoir valider ma saisie je reste dans la zone de coloration.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <div id="yui_3_17_2_1_1461781589642_1076" class="editor_atto_content_wrap"> <div id="id_pageeditable" class="editor_atto_content" contenteditable="true" aria-live="off" spellcheck="true" role="textbox" aria-labelledby="yui_3_17_2_1_1461781589642_597" style="min-height: 308px; height: 308px;"> <br> ret <br> <code class="language-javascript"> testestesgfdf <br> <br> <br> klmk <br> </code> </div> </div> </div>
et voici ma fenêtre modal de saisie du code
Si vous avez une idée, merci d'avance de vos réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2'<div alt="fermer" id="W_prism" style="display:none"><textarea id="wysi_prism"></textarea><span id="code_ok">javascript</span><span id="prism_clear">nettoyer</span></div>';
![]()
Partager