如果是在服务器端打开,你的问题就成了怎样用Javascript实现同时按住shift+F+L+U 提交表单,呵呵:)

解决方案 »

  1.   

    好象在JS里只支持 shift alt ctrl 功能键加一个其它的键组成的组合键. 多了好象不行
      

  2.   

    Shift+A+S+D 打开窗口模拟一下,思路就是开拓一个缓冲区,如果里面的键值包括三个键,就打开一个窗口,这里我用A,S,D三个键模拟的,时间紧,存在一些问题,就是如果按键速度过快,就不会激发onkeydown事件,所以要使劲按键,呵呵<SCRIPT language="javascript">
    var arrCode = new Array();
    var index = 0;
    document.onkeydown = function()
    {
        //如果键已经按下,继续按不再激发事件
        if(arrCode.contains(event.keyCode))
            return;
        if(event.shiftKey)
        {
            if(event.keyCode == 65 || event.keyCode == 68 || event.keyCode == 83)
            {
                if(!arrCode.contains(event.keyCode))
                    arrCode[index ++] = event.keyCode;
    //如果缓冲区中含有三个键值,打开窗口
                if(arrCode.containsKeys())
                    window.open("index.htm");
            }
        }
    }//如果shift放开,释放缓冲区
    document.onkeyup = function()
    {
        if(event.keyCode == 16)
        {
            arrCode.length = 0;
            index = 0;
        }
        if(event.keyCode == 65 || event.keyCode == 68 || event.keyCode == 83)
        {
            arrCode.remove(event.keyCode);
        }
    }Array.prototype.contains = function(val)
    {
        for(var i=0; i<this.length; i++)
        {
            if(this[i] == val)
                return true;
        }
        return false;
    }//A:65  S:83  D:68
    Array.prototype.containsKeys = function()
    {
        if(this.length != 3)
            return false;
        for(var i=0; i<3; i++)
        {
            if(this[i] != 65 && this[i] != 83 && this[i] != 68)
                return false;
        }
        return true;
    }// 如果键放开,则从缓存中删除数组
    Array.prototype.remove = function(val)
    {
        var delIndex = null;
        for(var i=0; i< this.length; i++)
        {
            if(this[i] == val)
               delIndex = i;
        }
        if(delIndex != null)
            this.splice(delIndex,1);
    }</SCRIPT>
    <BODY>
    <INPUT type="button" onClick="alert(arrCode)" value="test">
    </BODY>
      

  3.   

    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script language=javascript>
    var eventFKey=false;
    var eventLKey=false;
    var eventUKey=false;
    function bodyDeyDownFun()
    {
    if(event.repeat) return false;
    if(event.keyCode==70)eventFKey=true;
    if(event.keyCode==76)eventLKey=true;
    if(event.keyCode==85)eventUKey=true;if(event.shiftKey && eventFKey && eventLKey && eventUKey)
      {
      alert("Submmit");
      eventFKey=false;
      eventLKey=false;
      eventUKey=false;
      }
    }function bodyDeyUpFun()
    {
    if(event.keyCode==70)eventFKey=false;
    if(event.keyCode==76)eventLKey=false;
    if(event.keyCode==85)eventUKey=false;}</script>
    </head><body onkeydown="bodyDeyDownFun()" onkeyup="bodyDeyUpFun();" >
    <input name=aaa >
    </body></html>
      

  4.   

    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script language=javascript>
    var eventFKey=false;
    var eventLKey=false;
    var eventUKey=false;
    function bodyDeyDownFun()
    {
    if(event.repeat) return false;
    if(event.keyCode==70)eventFKey=true;
    if(event.keyCode==76)eventLKey=true;
    if(event.keyCode==85)eventUKey=true;if(event.shiftKey && eventFKey && eventLKey && eventUKey)
      {
     window.open("aa.htm",'',"width=300,height=400")
      eventFKey=false;
      eventLKey=false;
      eventUKey=false;
      }
    }function bodyDeyUpFun()
    {
    if(event.keyCode==70)eventFKey=false;
    if(event.keyCode==76)eventLKey=false;
    if(event.keyCode==85)eventUKey=false;}</script>
    </head><body onkeydown="bodyDeyDownFun()" onkeyup="bodyDeyUpFun();" >
    <input name=aaa >
    </body></html>