当前位置: 代码迷 >> Web前端 >> chrome上拦截ctrl + S保存页面事件
  详细解决方案

chrome上拦截ctrl + S保存页面事件

热度:374   发布时间:2012-09-23 10:28:10.0
chrome下拦截ctrl + S保存页面事件

在浏览器下编辑,用户潜意识习惯按住Ctrl+S键保存编辑内容。而网页的“Ctrl + S”被默认为保存页面。用户体验很不好。需要增加快捷保存方式Ctrl+S。

在Chrome下测试通过,其他Firefox、IE神马的都不支持。

?

$(window).keydown(function(event) {
		//alert( event.ctrlKey + '  ' +  event.metaKey + '   ' + event.which );
		if ( event.metaKey && event.which == 83) {
			alert("Ctrl+S pressed.");
			event.preventDefault();
			return false;			
		}else{
			return true; 
		}		
});
?

网上有个实例:在线编辑器jsbin下编写html时,按住Ctrl+S,触发点击“Save”按钮事件。

?

奇怪的是,metaKey可以用来监视ctrl键是否按下,而用ctrlKey不能监控同时按下ctrl和其他键的情况。

查了w3c给metaKey的解释如下,

?

定义和用法

metaKey 事件属性可返回一个布尔值,指示当事件发生时,"meta" 键是否被按下并保持住。

?

我不知道meta是键盘上哪个键。一般的键盘上是没这个键的。

?

?


  相关解决方案