jquery détecter quand nous sums à la fin du texte dans textarea

J’essaie simplement d’apprendre jQuery, et je me demandais comment vous pouvez savoir quand, compte tenu d’un tas de texte dans une zone de texte, l’utilisateur est à la fin de la zone de texte et tente de cliquer. Par exemple, la dernière ligne du texte est asdf, et lorsque l’utilisateur est sur cette ligne et appuie sur la touche fléchée, je souhaite obtenir un événement quelconque, ou du moins pouvoir déterminer si nous sont à la dernière ligne et font une action (par exemple, enroulez-vous et allez à la première ligne)

Si quelqu’un a une idée de la façon de procéder, ce serait grandement apprécié!

Jason

Si vous essayez de redimensionner la zone de texte lorsque l’utilisateur la remplit, il existe déjà un plugin Jquery:

plugins.jquery.com/project/TextAreaResizer

Découvrez http://jacklmoore.com/autosize/

c’est aussi simple que:

// Example: $(document).ready(function(){ $('textarea').autosize(); }); 

Si vous souhaitez que la zone de texte s’agrandisse au fur et à mesure que l’utilisateur la remplit, vous pouvez procéder de la manière suivante:

 function resizeTextarea(textarea) { var defaultHeight = 150; var lines = textarea.val().split("\n"); var count = lines.length; $.each(lines, function() { count += parseInt(this.length / 70); }); var currHeight = textarea.height(); var rows = parseInt(currHeight / 20) - 1; if (count > rows && currHeight < 600) { // Increase height unless 600 or higher textarea.css("height", (currHeight + (defaultHeight/2))); } else if (((count + 7) <= rows) && (currHeight > defaultHeight) && (count > 5)) { // Decrease height textarea.css("height", (currHeight - (defaultHeight/2))); } else if ((count <= rows) && (count <= 5)) { // If less than 5 rows, use default height textarea.css("height", defaultHeight); } } $('textarea.resizable').each(function() { $(this).bind("keypress input beforepaste", function(){ resizeTextarea(event.target); }); resizeTextarea($(this)); // Initial refresh });