Comando + Enter para enviar formularios -

He usado Mac durante unos seis años, pero no fue hasta que comencé a usar Tweetdeck que me di cuenta de lo increíble que [COMMAND]+[ENTER]era la combinación de teclas. ¿Dentro de un área de texto? No hay problema [COMMAND]+[ENTER]y se envía el formulario. ¿Y si todas las formas podrían ser así? ¡Pueden ser con un poco de JavaScript!

JavaScript

Hay dos caminos a seguir: agregar un detector de eventos al formulario (delegado de eventos) o aplicar un detector de eventos a elementos específicos del área de texto. La ruta más segura es la delegación de eventos, ya que los formularios dinámicos pueden tener muchas áreas de texto agregadas en cualquier momento, pero las asignaciones por área de texto son mucho más eficientes. En última instancia, depende del desarrollador conocer su forma. A continuación se muestran tres ejemplos de código para realizar el envío de formularios de diversas formas:

// Asignar a un área de texto individual (más eficiente)myTextarea.addEventListener('keydown', function(e) {if(e.keyCode == 13 e.metaKey) {this.form.submit();}}) ;// Delegación de eventos de formulario: formulario individual (algo eficiente)form.addEventListener('keydown', function(e) {if(!(e.keyCode == 13 e.metaKey)) return;var target = e. target;if(target .form) {target.form.submit();}});// Delegación de eventos del cuerpo: cualquier forma (menos eficiente)document.body.addEventListener('keydown', function(e) { if(!(e.keyCode == 13 e.metaKey)) return;var target = e.target;if(target.form) {target.form.submit();}});

Tweetdeck utiliza [COMMAND]+[ENTER]al igual que GitHub en algunos de sus formularios. Naturalmente, comencé a buscar esta combinación de comandos de teclado en lugar de pasar a un campo que enviará el formulario mediante la [ENTER]tecla tradicional.

Te podría interesar...

Deja una respuesta

Subir