una ultimo separador quitar puntos palabras miles guiones espacios entre eliminar ejemplo cortar como comas caracteres caracter cadena javascript angular

javascript - ultimo - Borrar una entrada en la prensa de coma no borra la coma



eliminar ultimo caracter javascript (3)

Añadir preventDefault .

Agregue preventDefault() en su código clearInput como se muestra a continuación:

clearInput(e: KeyboardEvent) { if (e.keyCode === 44) { e.preventDefault(); // <-- Here this.element.nativeElement.value = ''''; } else { console.log(''Not a comma''); } }

Lea más acerca de prevenirDefault here .

Estoy intentando borrar una entrada cuando un usuario presiona coma (,). Entonces, lo que hice fue, al (keypress) keyCode (keypress) verificaba el keyCode y si es una coma, keyCode la entrada al establecer el valor de entrada a input.value = '''' .

Sin embargo, el problema es que incluso si borra las letras que escribo, no borra la coma. ¿Qué estoy haciendo mal?

Este es un problema del problema.

Pasos:

  1. Escriba abc .
  2. Tipo ,
  3. Observe que abc fue borrado pero la entrada aún tiene a,.

HTML:

<input type="text" #elem (keypress)="clearInput($event)">

Código:

@ViewChild( ''elem'' ) public element; clearInput( e: KeyboardEvent ) { if ( e.keyCode === 44 ) { this.element.nativeElement.value = ''''; } else { console.log(''Not a comma''); } }

Estoy usando Angular 6.


Necesitas hacer 2 cambios menores:

  1. Utilice el evento keyup para obtener la última clave escrita e incluirla en el valor de input
  2. Use e.key === '','' en la condición if

Aquí está el JSFIDDLE trabajo


Simplemente return false si se presiona una coma:

class HomeComponent { @ViewChild(''elem'') public element; clearInput(e: KeyboardEvent) { if (e.keyCode === 44) { this.element.nativeElement.value = ''''; return false; } else { console.log(''Not a comma''); } } }

JSFiddle: https://jsfiddle.net/lucakiebel/zrehcwfy/1/