Usando jQuery, ¿cómo puedo simular (activar?) Un KeyPress cuando se hace clic en un enlace? Por ejemplo, cuando un usuario hace clic en el siguiente enlace:
<a id="clickforspace" href="#">Click Here</a>
Luego, al hacer clic en el enlace, sería como si presionaran la "barra espaciadora" en su teclado.
Algo como esto, supongo:
$("#clickforspace").click(function(e) {
e.preventDefault();
//... Some type of code here to initiate "spacebar" //
});
¿Alguna idea sobre cómo lograr esto?
javascript
jquery
keyboard
Dodinas
fuente
fuente
click
con la barra espaciadora, ¿realmente deseaba que el navegador se desplazara hacia abajo en la página? Presionar la barra espaciadora en un enlace generalmente tiene el mismo efecto que presionar la tecla de avance de página.Respuestas:
El evento de pulsación de tecla de jQuery está destinado a realizar este tipo de trabajo. Puede activar el evento pasando una cadena "pulsación de tecla" a .trigger (). Sin embargo, para ser más específico, también puede pasar un objeto jQuery.Event (especifique el tipo como "pulsación de tecla") y proporcione las propiedades que desee, como el código clave que es la barra espaciadora.
http://docs.jquery.com/Events/trigger#eventdata
Lea la documentación anterior para obtener más detalles.
fuente
Creo que esto es lo que estás buscando:
var press = jQuery.Event("keypress"); press.ctrlKey = false; press.which = 40; $("whatever").trigger(press);
De aqui .
fuente
$("whatever").trigger($.Event("keydown", {keyCode: 40}))
Otra opción:
$(el).trigger({type: 'keypress', which: 13, keyCode: 13});
http://api.jquery.com/trigger/
fuente
which
sirve. Solo laskeyCode
obras para mí en SAPUI5 (jQuery 2.2.3 en Chrome)Puede probar este complemento jQuery de SendKeys:
http://bililite.com/blog/2011/01/23/improved-sendkeys/
fuente
bililiteRange
biblioteca: github.com/dwachss/bililiteRange (de hecho, el complemento jQuery es solo una envoltura delgada alrededor de esta increíble biblioteca que se sostiene por sí sola ).Esto funciona:
var event = jQuery.Event('keypress'); event.which = 13; event.keyCode = 13; //keycode to trigger this for simulating enter jQuery(this).trigger(event);
fuente