jQuery: en el cambio de texto mientras el usuario escribe o pega

1 minuto de lectura

Avatar de usuario de Max Zag
max zag

Soy nuevo en jQuery y traté de hacer algo pero fallé, así que aquí está mi problema cuando el usuario escribe, ¡funciona pero cuando el usuario pega algo no funciona!

$(document).ready(function(){

        $('#username').keyup(username_check);
});

la función username_check:

function username_check(){  
var username = $('#username').val();
if(username == "" || username.length < 4){
alert("error");
}

el campo :

<input type="text" id="username" name="username" required>

  • posible duplicado de ¿Cómo capturo el valor de entrada en un evento de pegado?

    – GillesC

    12 de junio de 2014 a las 17:38

Si quieres capturar todo input eventos:

$('#username').on("input", username_check);

  • Esto funcionó perfectamente para mí. Quiero activar un botón cuando alguien escriba algo en un cuadro. eliminado en el cambio de oyente y agregado esto.

    – chrisallick

    6 de enero de 2017 a las 15:43

  • Sin embargo, IE9 no es totalmente compatible con ese evento (caniuse.com/#feat=input-event).

    – Kenston Choi

    28 de diciembre de 2018 a las 5:10

Avatar de usuario de Shaunak D
Shaunak D.

Usar .on() o .bind() para enlazar múltiples eventos,

$(document).ready(function(){
   $('#username').on('keyup paste',username_check);
});


function username_check(){ 
    setTimeout( function() {
        var username = $('#username').val();
    },100);
    if(username == "" || username.length < 4){
      alert("error");
    }
}

violín de trabajo

¿Ha sido útil esta solución?