Básicamente funciona bien pero no consigo hacerlo funcionar correctamente si una vez llegado al máximo de caracteres permitidos, selecciono todo o parte del texto y pulso una tecla (es decir, borro todo lo escrito y escribo el caracter de la tecla).
Código HTML:
Ver original
Código Javascript:
Ver original
$(document).ready(function(){ var lugar = '#texto'; var max = 10; $(lugar).keyup(function(e){ contador(lugar,max,e); }).keydown(function(e){ contador(lugar,max,e); }); function contador(lugar,max,e){ if(e.which != 8 && e.which != 37 && e.which != 38 && e.which != 39 && e.which != 40 && $(lugar).text().length > max) {e.preventDefault();} } });
Aqui el ejemplo por si no apetece copiar y pegar el codigo.
En realidad el problema no lo quiero abordar unica y exclusivamente mediante los eventos de teclado ya que puede seleccionarse el texto de multiples maneras: control+a, shift+flechas, seleccion manual con el raton,.... no obstante, cualquier ayuda sería bienvenida.
Un saludo y muchas gracias por vuestro tiempo.