trigger tab press evento jquery keydown simulate

press - Simular presionar la tecla tab con jQuery



jquery trigger key (4)

Tengo algunos cuadros de texto en una página .net y quiero lograr lo siguiente con jQuery: si el usuario presiona regresar, el programa debería comportarse "como si" hubiera usado la tecla de tabulación, seleccionando el siguiente elemento. Probé el siguiente código (y algunos más):

<script type="text/javascript"> jQuery(document).ready(function () { $(''.tb'').keypress(function (e) { if (e.keyCode == 13) { $(this).trigger("keydown", [9]); alert("return pressed"); } }); });

<asp:TextBox ID="TextBox1" runat="server" CssClass="tb"></asp:TextBox> <asp:TextBox ID="TextBox2" runat="server" CssClass="tb"></asp:TextBox>

¡Pero simplemente no funciona! ¿Falta algo, cometiendo un error?

Aquí algunos enlaces que utilicé.

here

y aquí


A partir de múltiples respuestas, he combinado la solución perfecta para mí, donde entrar actúa como una pestaña en las entradas y selecciona y enfoca la siguiente entrada, selección o área de texto mientras permite ingresar dentro del área de texto.

$("input,select").bind("keydown", function (e) { var keyCode = e.keyCode || e.which; if(keyCode === 13) { e.preventDefault(); $(''input, select, textarea'') [$(''input,select,textarea'').index(this)+1].focus(); } });


He creado un complemento simple de jQuery que resuelve este problema. Utiliza el selector '': tabbable'' de jQuery UI para encontrar el siguiente elemento ''tabbable'' y lo selecciona.

Ejemplo de uso:

// Simulate tab key when enter is pressed $(''.tb'').bind(''keypress'', function(event){ if(event.which === 13){ if(event.shiftKey){ $.tabPrev(); } else{ $.tabNext(); } return false; } });


Prueba esto

$(this).trigger({ type: ''keypress'', which: 9 });