2010-08-09 8 views
1

j'insère beaucoup de texarea, et teaxarea avec tiny mce (WYSIWYG). Mais quand j'insère cette teaxarea de cette fonction Tiny MCS ne fonctionne pas. Pourquoi?jquery cliquez sur la fonction et un autre script jquery

Merci

$(document).ready(function(){ 
    $("#InsertNew").click(function() { 
    $('<textarea id = "tinyMCE"></textarea>').appendTo($('#textBody')); 
    }); 
}); 
+1

Qu'est-ce que votre look '.tinyMCE' script comme? Celui qui fonctionne en fonction de ce sélecteur? Aussi, vous devriez utiliser une classe ici, les ID doivent être uniques. –

+0

vous avez seulement répondu à la moitié de vos questions. J'espère que cela ne signifie pas que vous ne recevez pas d'aide utile ici. –

+0

Pourriez-vous poster plus de votre code? –

Répondre

3

Eh bien votre code ressemble à ceci:

<textarea id="tinyMCE"></textarea> 

Alors qu'est-ce qui se passe ici? Vous venez d'ajouter une zone de texte avec le ID="tinyMCE" mais aucun comportement n'est ajouté à TextArea.

En jQuery j'attendre au moins les éléments suivants:

<textarea class="tinyMCE"></textarea> 

ou événement mieux:

$('<textarea></textarea>').tinyMCE().appendTo($('#textBody')); 

EDIT:

Vous pouvez essayer quelque chose comme ça ...

$('<textarea id="UniqueId"></textarea>').tinyMCE().appendTo($('#textBody')); 
tinyMCE.init({ 
    mode : "exact", 
    elements : "UniqueId" 
}); 

Sur t il tinymce-Formus est déjà Diskussion en cours ...

http://tinymce.moxiecode.com/punbb/viewtopic.php?id=15477

+0

Merci, mais je change le paramètre minuscule mce et maintenant travailler avec: (si j'écris en html). Mais quand je mets ce code dans ma fonction jQuery encore dos't travail – lolalola

0

vous avez mentionné que vous utilisez beaucoup de zones de texte, le lieu ur essayer de joindre à est #textBody (un id). Si vous n'êtes pas au courant, vous ne pouvez avoir qu'une seule instance d'un ID par page. Au lieu d'utiliser une classe: class = « textBody » dans votre html puis essayez:

$('<textarea id = "tinyMCE"></textarea>').appendTo('.textBody'); 
+0

Bien, mais le problème est en réalité 'id =" tinyMCE "'. –

0

Très probablement, parce que TinyMCE a un initialiseur qui scanne le document à la recherche de textareas et applique un peu de magie sur ceux qui trouve. Tout ce que vous ajouterez plus tard n'héritera pas de ceci. Vous devez soit:

  1. Relancez l'initialiseur TinyMCE sur chaque nouvel élément
  2. Configurer TinyMCE pour détecter de nouvelles zones

Depuis TinyMCE est pas un plugin jQuery, je suppose que vous ne pouvez le faire #1.

+0

Merci, mais comment impossible de relancer le script? – lolalola

+0

Comment l'exécutez-vous la première fois? –

0

Je pense que ce forum post est ce que vous cherchez.

Vous devrez utiliser la méthode live jQuery et une astuce expliquée sur le lien ci-dessus.