tiene teclas teclado recortes pantalla pant laptop impr hacer computadora como captura atajo javascript

javascript - teclas - ¿Presiona la tecla de captura sin colocar un elemento de entrada en la página?



como hacer captura de pantalla en windows 7 laptop (6)

Cómo capturar la pulsación de tecla, por ejemplo, Ctrl + Z, sin colocar un elemento de entrada en la página en JavaScript? Parece que en IE, los eventos de keypress y keyup solo pueden vincularse a los elementos de entrada (cuadros de entrada, áreas de texto, etc.)



Código y detecta ctrl + z

document.onkeyup = function(e) { if(e.ctrlKey && e.keyCode == 90) { // ctrl+z pressed } }


Detectar pulsación de tecla, incluidas combinaciones de teclas:

window.addEventListener(''keydown'', function (e) { if (e.ctrlKey && e.keyCode == 90) { // Ctrl + z pressed } });

El beneficio aquí es que no sobrescribe ninguna propiedad global, sino que simplemente introduce un efecto secundario. No es bueno, pero definitivamente es mucho menos nefasto que otras sugerencias aquí.


Para teclas no imprimibles como teclas de flecha y teclas de método abreviado como Ctrl-z, Ctrl-x, Ctrl-c que pueden desencadenar alguna acción en el navegador (por ejemplo, dentro de documentos o elementos editables), es posible que no obtenga una pulsación de tecla evento en todos los navegadores. Por este motivo, debe utilizar la keydown , si le interesa suprimir la acción predeterminada del navegador. Si no, keyup igual de bien.

keydown un evento de selección para document trabajos en todos los principales navegadores:

document.onkeydown = function(evt) { evt = evt || window.event; if (evt.ctrlKey && evt.keyCode == 90) { alert("Ctrl-Z"); } };

Para una referencia completa, recomiendo encarecidamente el artículo de Jan Wolter sobre el manejo de claves de JavaScript .


document.onkeydown = keyDown;

document.onkeypress = keyPress;

etc.

Funciona para mí en IE


jQuery también tiene una implementación excelente que es increíblemente fácil de usar. A continuación, le mostramos cómo implementar esta funcionalidad en todos los navegadores:

$(document).keypress(function(e){ var checkWebkitandIE=(e.which==26 ? 1 : 0); var checkMoz=(e.which==122 && e.ctrlKey ? 1 : 0); if (checkWebkitandIE || checkMoz) $("body").append("<p>ctrl+z detected!</p>"); });

Probado en IE7, Firefox 3.6.3 y Chrome 4.1.249.1064

Otra forma de hacerlo es utilizar el evento de selección y rastrear el evento .keyCode. Sin embargo, dado que jQuery normaliza keyCode y charCode utilizando event.which, su especificación recomienda utilizar event.which en una variedad de situaciones:

$(document).keydown(function(e){ if (e.keyCode==90 && e.ctrlKey) $("body").append("<p>ctrl+z detected!</p>"); });