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

//===============================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);"

posted on 2007-06-07 13:08  上午的绝缘杯  阅读(3252)  评论(5编辑  收藏  举报