2010-02-24 5 views
0

Je pense que cela est une question simple, mais je ne peux pas trouver la réponseComment consommer des événements de l'éditeur YUI

J'ai une application rails et je suis en utilisant jquery et YUI Rich Text Editor, je veux écrire quelques javascript/jquery pour avoir un compteur de longueur de texte minimum (il vous reste 240 caractères). Je l'ai travailler avec un texte simple zone:

jQuery.fn.populateCounter = function() { 
    var text_length = $(this).val().length; 
    var counter = $(this).siblings('p.counter'); 
    if (text_length == 0) { 
     counter.text('Enter at least 15 characters'); 
    } 
    else if (text_length < 15) { 
     var left = 15 - text_length 
     counter.text(left + ' characters to go'); 
    } 
    else if (text_length <= 600) { 
     var remaining = 600 - $(this).val().length; 
     counter.text(remaining + ' characters left'); 
    } 
    else { 
     var to_many = $(this).val().length - 600; 
     counter.text(to_many + ' characters to many'); 
    } 
    return this; 
} 

$('.new_comment textarea').live('keyup',function() { 
    $(this).populateCounter(); 
}); 

Mais il me manque de clarté, à la façon de le faire avec l'éditeur YUI (comment puis-je consommer là-bas événement et comment puis-je obtenir la longueur du contenu?) . Merci de votre aide!

- jt

Répondre

1

Jetez un oeil sur les événements YAHOO.widget.SimpleEditor. Une fois que vous avez créé un éditeur (peut-être this est un bon point de départ), vous pouvez utiliser l'événement editorKeyPress pour déclencher votre vérification de la longueur du texte.

myEditor.subscribe('editorKeyPress', function() { 
    var textLength = myEditor.toString().length; 
    // .... do checks 
}); 
+0

Cool. Merci Gavin – Jonathan

Questions connexes