输入域中的事件:οnkeydοwn="ctrlEnter(event)"
function isKeyTrigger(e,keyCode){
var argv = isKeyTrigger.arguments;
var argc = isKeyTrigger.arguments.length;
var bCtrl = false;
if(argc > 2){
bCtrl = argv[2];
}
var bAlt = false;
if(argc > 3){
bAlt = argv[3];
}
var nav4 = window.Event ? true : false;
if(typeof e == 'undefined') {
e = event;
}
if(bCtrl &&
!((typeof e.ctrlKey != 'undefined') ?
e.ctrlKey :
e.modifiers & Event.CONTROL_MASK > 0)) {
return false;
}
if( bAlt &&
!((typeof e.altKey != 'undefined') ?
e.altKey : e.modifiers & Event.ALT_MASK > 0)){
return false;
}
var whichCode = 0;
if (nav4) whichCode = e.which;
else if (e.type == "keypress" || e.type == "keydown") whichCode = e.keyCode;
else whichCode = e.button;
return (whichCode == keyCode);
}
function ctrlEnter(e){
var ie = navigator.appName == "Microsoft Internet Explorer" ? true : false;
if(ie){
if(event.ctrlKey && event.keyCode == 13) {
submit();
}
else {
if(isKeyTrigger(e,13,true)){
submit();
}
}
}
}
本文介绍了一种使用JavaScript监听键盘事件的方法,特别是如何检测Ctrl+Enter组合键被按下以触发特定功能,如表单提交等。文章通过具体示例代码展示了如何实现这一功能,并解释了不同浏览器环境下事件对象的兼容性处理。
1693

被折叠的 条评论
为什么被折叠?



