现在的位置: 首页 > 综合 > 正文

兼容多种浏览器的Ctrl+Enter提交–兼容firefox、ie、opera

2011年04月28日 ⁄ 综合 ⁄ 共 1297字 ⁄ 字号 评论关闭
//===============================ctrl+enter
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 && window.event.keyCode==13){doSomething();}
    }
else{
        
if(isKeyTrigger(e,13,true)){doSomething();}
    }
}
function doSomething(){document.frmTest.btn_insert.click(); }
//=============================

调用的时候只需要在TEXTAREA中增加 onkeyup="javascript:return ctrlEnter(event);" 

抱歉!评论已关闭.