改变浏览器中默认的ctrl+s方法
在一般的情况下,我们在浏览网页的时候按下ctrl+s,浏览器会弹出一个保存网页的框。
但是在一些特定的网页中,我们希望ctrl+s不是弹出默认的保存窗口,而是进行一下别的操作。
比如在我们使用简书的时候,我们按下ctrl+s的时候,是不会弹出保存窗口的。而是把我们正在编辑的文字进行保存。这个操作在一些特定的网页中是十分必要的。因为我们在编辑的文字的时候,会习惯性地按下ctrl+s进行保存,如果这个时候弹出保存窗口的话,肯定是不方便的。
但是在一些特定的网页中,我们希望ctrl+s不是弹出默认的保存窗口,而是进行一下别的操作。
比如在我们使用简书的时候,我们按下ctrl+s的时候,是不会弹出保存窗口的。而是把我们正在编辑的文字进行保存。这个操作在一些特定的网页中是十分必要的。因为我们在编辑的文字的时候,会习惯性地按下ctrl+s进行保存,如果这个时候弹出保存窗口的话,肯定是不方便的。
<script> document.addEventListener("keydown", function(e) { //可以判断是不是mac,如果是mac,ctrl变为花键 //event.preventDefault() 方法阻止元素发生默认的行为。 if (e.keyCode == 83 && (navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey)) { e.preventDefault(); // Process event... document.getElementById("test").innerHTML = "ctrl+s成功"; } }, false); </script>
在网页中加入以上的代码,就可以改变ctrl+s的默认操作。
- 1.首先添加keydown事件,在键盘按下的时候进行操作
- 2.判断按下的按键是什么,
e.keyCode = 83
是s键 - 3.之后判断一下用户的操作系统,如果我们的系统是MacOS,我们就判断花键即
e.metaKey
,
如果是windows我们就判断ctrl键即e.ctrlKey
- 4.如果是ctrl+s键被按下了,那这个时候我们使用
event.preventDefault()//这个方法阻止元素发生默认的行为