如何在网页中捕获CTRL S事件?
我不想使用jQuery或任何其他特殊的库.
感谢您的帮助提前.
解决方法
如果你只是使用native / vanilla
JavaScript,那么应该实现你以后的结果:
var isCtrl = false; document.onkeyup=function(e){ if(e.keyCode == 17) isCtrl=false; } document.onkeydown=function(e){ if(e.keyCode == 17) isCtrl=true; if(e.keyCode == 83 && isCtrl == true) { //run code for CTRL+S -- ie,save! return false; } }
发生了什么?
onkeydown方法检查是否按下CTRL键(键码17).
如果是这样,我们将isCtrl值设置为true,将其标记为被激活并在使用中.我们可以在onkeyup函数中将该值还原为false.
然后,我们再看看是否有任何其他键与ctrl键一起被按下.在该示例中,密钥代码83用于S密钥.您可以在此功能中添加自定义处理/数据处理/保存方法,并返回false以尝试停止浏览器对CTRL-S键的操作.