JavaScript实现跨浏览器Ctrl+Enter热键兼容IE与Firefox

作者:像素漫游

时间:2026-10-25

浏览:459

本文介绍如何在JavaScript中实现跨浏览器的Ctrl+Enter热键功能,重点解决IE与Firefox在事件对象获取上的差异。通过判断浏览器类型,分别使用window.event.keyCode或e.which获取按键码,并结合preventDefault或returnValue实现默认行为拦截,确保在textarea等输入框中按下Ctrl+Enter时触发特定操作。

文章目录

实现Ctrl+Enter热键的基础代码

代码如下:

 
<textarea onkeydown="keyHanlder(event)">
</textarea>
<script>
function keyHanlder(e){
if(e.ctrlKey&&e.keyCode==13){
alert('"Ctrl+Enter"');
if(e.preventDefault)e.preventDefault();
else e.returnValue=false;
} 
} 
</script>


跨浏览器事件对象获取与处理

在非IE浏览器中,事件处理函数会自动接收event参数,通过该参数可以获取键盘按键信息。


完整的快捷键监听示例

代码如下:

 
<SCRIPT LANGUAGE="JavaScript">
<!-- 
function hotkey(e)
{ 
//判断浏览器
var ex = navigator.appName;
var a = ex=='Microsoft Internet Explorer'? window.event.keyCode : e.which;
alert(a);
switch(a){
case 83:
window.open('Myhomepage/search.htm','show')
break;
case 70:
window.open('Myhomepage/favorite.htm','show')
break;
} 
} // end hotkey
document.onkeydown = hotkey; //当onkeydown 事件发生时调用hotkey函数
//--> 
</SCRIPT>

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章