processmaker ocultar getcontrol functions campos javascript jquery google-chrome preventdefault

javascript - getcontrol - ocultar campos processmaker



Ctrl+S preventDefault en Chrome (4)

document.onkeydown = function (e) { e = e || window.event;//Get event if (e.ctrlKey) { var c = e.which || e.keyCode;//Get key code switch (c) { case 83://Block Ctrl+S e.preventDefault(); e.stopPropagation(); break; } } };

Quiero capturar Ctrl + S en Chrome y evitar el comportamiento predeterminado del navegador para guardar la página. ¿Cómo?

(Simplemente publicando la pregunta y la respuesta como lo hice después de esto durante bastante tiempo y no encontré una solución)


document.onkeydown = function (e) { e = e || window.event;//Get event if (e.ctrlKey) { var c = e.which || e.keyCode;//Get key code switch (c) { case 83://Block Ctrl+S case 87://Block Ctrl+W --Not work in Chrome e.preventDefault(); e.stopPropagation(); break; } } };



Por lo que puedo ver, la salsa secreta es que Ctrl + S NO activa el evento de pulsación de tecla, solo el evento de pulsación.

Usando jQuery.hotkeys :

$(document).bind(''keydown'', ''ctrl+s'', function(e) { e.preventDefault(); alert(''Ctrl+S''); return false; });

Solo con jQuery:

$(document).bind(''keydown'', function(e) { if(e.ctrlKey && (e.which == 83)) { e.preventDefault(); alert(''Ctrl+S''); return false; } });

Editar 2012.12.17 - jQuery.hotkeys dice

Las teclas rápidas no se rastrean si se está dentro de un elemento de entrada (a menos que se vincule explícitamente la tecla directa directamente a la entrada). Esto ayuda a evitar el conflicto con el tipeo normal del usuario.