在Chrome中按Ctrl + S preventDefault
我想在Chrome中捕获Ctrl + S ,并阻止默认浏览器行为来保存页面。 怎么样?
(只是发布问题和答案,因为我在这之后很长一段时间没有找到解决方案)
据我所见,秘诀就是, Ctrl + S不会触发按键事件,只触发keydown事件。
使用jQuery.hotkeys :
$(document).bind('keydown', 'ctrl+s', function(e) { e.preventDefault(); alert('Ctrl+S'); return false; });
只有jQuery:
$(document).bind('keydown', function(e) { if(e.ctrlKey && (e.which == 83)) { e.preventDefault(); alert('Ctrl+S'); return false; } });
编辑2012.12.17 – jQuery.hotkeys说
如果您在输入元素内部,则不会跟踪热键(除非您将热键直接绑定到输入)。 这有助于避免与普通用户输入冲突。
浏览器中的Overriding control + s(保存function) “借用”
document.addEventListener("keydown", function(e) { if (e.keyCode == 83 && (navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey)) { e.preventDefault(); alert('captured'); } }, false);
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; } } };
- 来自另一个选项卡时,Jquery setInterval太快
- 奇怪的Chrome原型/ jQuery冲突
- Chrome中的Spinner,IE9在同步ajax get请求期间不会显示
- Java Spring REST API CORS不适用于通过jQuery与Chrome进行DELETE请求
- jquery .width()chrome和safari问题
- Highcharts鼠标跟踪/鼠标hoverfunction在chrome上很慢但在firefox或IE中并不慢
- 移动浏览器上的Javascript / jQuery页面更改事件
- 文字隐藏在video背后
- Chrome 37+模式对话框returnValue的解决方法