KeyCode是转为IE设置的~其他浏览器用另外一个“名字”取得键盘码,具体是什么忘记了……你去查DW的参考就知道

解决方案 »

  1.   

    好的。谢谢,那怎么区别是IE呢还是Mozilla呢?
      

  2.   

    可以通过navigator.appName来辨别
      

  3.   

    <body>
    <script language="JavaScript">
    function keyCode()
    {
    var keycode;
    if(document.all)
    {
    keycode=window.event.keyCode;
    }
    else
    {
    keycode=event.which;
    }
    return keycode;
    }
    </script>
    <input name="input1" id="input1" type="text" onKeyDown="javascript:alert(keyCode())">
    </body>
    </html>
    上面在mozilla中有错,提示event is not defined. 要怎么改啊?
      

  4.   

    if (document.layers)
    document.captureEvents(event.KeyPress)
    if(document.all)
    {
    keycode=window.event.keyCode;
    }
    else if (document.layers)
    {
    keycode=event.which;
    }
      

  5.   

    还是不能工作啊!
    <body>
    <script language="JavaScript">
    function keyCode()
    {
    var keycode;
    if (document.layers)
    document.captureEvents(event.KeyPress)
    if(document.all)
    {
    keycode=window.event.keyCode;
    }
    else if(document.layers)
    {
                       // 没有进来,如果我把上面的if 去掉,
                       //还是提示event is not defined
    keycode=event.which;
    }
    return keycode;
    }
    </script>
    <input name="input1" id="input1" type="text" onKeyDown="javascript:alert(keyCode())">
    // 如果我在上面一句中直接写alert(event.which),则在mozilla就可以,
    //但在ie中就不可以了
    </body>
    </html>
      

  6.   

    把你的代码放到<input name="input1" id="input1" type="text" onKeyDown="javascript:alert(keyCode())">后面试试
      

  7.   

    mozilla里应该已经放弃了document.layers,不能通过这个判断了
      

  8.   

    To:slumcherry(轮雨了, i like leo)
       放到后面也不可以的。
    To:cloudchen(陈系上.net) 
       Netscape 中还有document.layers,Mozilla中好像是不用了,但我把上面的那句if(document.layers)去掉也还是不可以啊,为何?
      

  9.   

    楼主, 我按照下面的程序在mozilla打开, 没有任何提示.
    <body>
    <script language="JavaScript">
    function keyCode()
    {
    var keycode;
    if(document.all)
    {
    keycode=window.event.keyCode;
    }
    else
    {
    keycode=event.which;
    }
    return keycode;
    }
    </script>
    <input name="input1" id="input1" type="text" onKeyDown="javascript:alert(keyCode())">
    </body>
    </html>
      

  10.   

    在Mozilla中是没有提示,不过错误是“event is not defined”, 你可以打开JavaScript Console 看看就知道了
      

  11.   

    function keyDownCode(e){
    var code;
    if (!e)
    {
    var e = window.event;
    }
    if (e.keyCode)

    code = e.keyCode;
    }
    else if (e.which)
    {
    code = e.which;
        }
        return code;
    }你看看这个,在IE和Mozilla 中都可以用。你可以用keyDownCode(event)
      

  12.   

    在mozilla里还是不行, 错误 e has no properties.
      

  13.   

    是上面的那个方法吗?你要这样,比如<input name="" onkeyDown="javascript:keyDownCode(event)">
      

  14.   

    在一个functon中怎么得到鼠标事件?
    function mouseEvt(event)
    {
    //    event.mouse[1];
    }
      

  15.   

    啊……我说的DW当然是DreamWeaver~~做网页的都知道……
      

  16.   

    在一个functon中怎么得到鼠标事件?
    function mouseEvt(event)
    {
    //    event.mouse[1];
    }
      

  17.   

    还有个问题,就是在ie里可以按以下方式更改事件的keycode,但是在mozilla中这种方法行不通,在mozilla中应该怎么做呀?以下这段代码实现把回车->Tab的功能
    <script language="javascript">
    <!--
    function changeKeyCode(e) {
    var code;
    if (!e)
    {
    var e = window.event;
    }
    if (e.keyCode)

    code = e.keyCode;
    }
    else if (e.which)
    {
    code = e.which;
        }
    if (code == 13 ) { //回车 -> Tab
    e.keyCode=9; //Tab
    }
    }
    // -->
    </script>
      

  18.   

    在用以上方法时,有如下代码:
    <tr>
    <td onkeydown="javascript:key(event)" onclick="javaascript:key(event)"></td>
    </tr>
    <script language="javascript">
    function key(e)
    {
    var code;
    if(e.keyCode || e.type)
    {
    switch(e.type)
    {
    case "click":
    code=1;
    break;
    case "keydown":
    code=e.keyCode;
    break;
    default:
    break;
    }
    }
    alert(code);
    }
    </script>
    但点击有onclick事件的表格是,在IE 和 Mozilla中都可以得到click code ,在IE中可以响应onkeydown事件,但在Mozilla中却不可以,焦点是设在要得到事件的cell中了。为何???