window.event.keyCode如何在Firefox上执行此操作? [英] window.event.keyCode how to do it on Firefox?

查看:94
本文介绍了window.event.keyCode如何在Firefox上执行此操作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用此代码检查keydown并在键关闭时显示字符串'Pressed'。

I'm using this code to check for keydown and display the string 'Pressed' while a key is down.

<body onKeyDown="doKey(window.event.keyCode)" onKeyUp="doKey2(window.event.keyCode)">

<script>
function doKey($key) {
  document.getElementById('keydown').innerHTML='Pressed';
}

function doKey2($key) {
  document.getElementById('keydown').innerHTML='';
}
</script>

<div id="keydown"></div>

问题在于,由于某些原因,它只适用于Chrome。我认为'window.event.keyCode'不会返回任何内容。我如何让它至少在Firefox中运行?谢谢

The problem is that for some reason it's only working on Chrome. I think the 'window.event.keyCode' doesn't return anything. How do I make it work at least in Firefox too? Thanks

推荐答案

<html>
    <body onKeyDown="doKey(event)" onKeyUp="doKey2(event)">

    <script>
    function doKey(e) {
        evt = e || window.event; // compliant with ie6        
        document.getElementById('keydown').innerHTML = evt.keyCode+' Pressed';
    }

    function doKey2(e) {
        document.getElementById('keydown').innerHTML='';
    }
    </script>

    <div id="keydown"></div>
    </body>
</html>

如果我们传递事件作为参数,大多数现代浏览器将运作良好。我已经测试过Chrome 12,Firefox 4,IE 7/8/9。

If we passed event as parameter, most modern browsers will work well. I have tested with Chrome 12, Firefox 4, IE 7/8/9.

这篇关于window.event.keyCode如何在Firefox上执行此操作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆