Encontré un error de teclado al crear una función que agrega automáticamente el separador de miles al escribir la entrada. Todo funciona bien en el navegador de escritorio, pero se produce un error cuando se usa en dispositivos móviles. A continuación se muestra el código js que utilicé:
$('input.number').keyup(function(event) { if(event.which >= 37 && event.which <= 40) return; $(this).val(function(index, value) { return value.replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",") ; }); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input class="number"> </input>Ejemplo: escribo 1000000 en el navegador de la computadora y muestra exactamente 1,000,000 pero muestra 100,010,000 en la respuesta móvil.
Encontré otro código como este en Fiddle pero el mismo error. El teléfono que usé para probar también es Android OS versión 7, la versión de Chrome es 93.0.4577.62
Entonces, ¿cómo solucionar este error? ¿Alguien tiene alguna sugerencia para mi? ¡Cualquier sugerencia es apreciada!
¡Muchas gracias!
Lo he probado en todos los navegadores y todo funciona bien. El problema principal probablemente radica en la relación de aspecto poco común del S8 Plus. Cómo solucionarlo: agregue un evento de entrada que se active cada vez que cambie la entrada. La entrada funciona tanto en computadoras de escritorio como en teléfonos móviles.
$('input.money').on('keyup input',function(event) { //code });Espero que pueda ayudar a aquellos que tienen el mismo problema. Más detalles en jQuery Input Event .