js中键盘事件e.which,火狐浏览器不支持!在线等!

为什么就是没有效果!js代码部分根本不运行。代码如下:<html><head><script>function_keydown(e){varkeyValue=e.char... 为什么就是没有效果!js代码部分根本不运行。
代码如下:
<html>
<head>
<script>
function _keydown(e){
var keyValue = e.charCode || e.which || e.keyCode;
document.getElementById("test").style.background = "green";
document.getElementById("test").innerHTML = keyValue;
}
</script>
</head>
<body onkeydown="_keydown()">
<div id="test">yjf</div>
</body>
</html>
展开
 我来答
火狐
2014-08-25 · Firefox,最快最安全的上网体验
火狐
Mozilla Firefox火狐浏览器,是一款开放安全的开源浏览器,全球拥有5亿用户。
向TA提问
展开全部
  尊敬的用户,您好!很高兴为您答疑。
  在火狐下要想使这段代码生效,您需要添加如下代码:<body onkeydown="_keydown(event)">.
  原因如下:
  onkeydown的处理方式,ie和火狐 (firefox)就不同,不得不做些小的处理。
document.onkeydown=function(e){var keyCode;if(window.event){
keyCode=event.keyCode;}else{
keyCode=e.which;}if(keyCode==13){
alert("回车");}else{
alert(keyCode);}}
  注意代码中的处理分支,ie是支持event.keyCode,而firefox不支持event和keycode而转而支持事件处理程序的传入参数和which。
  因此如果你单纯的使用e.keyCode在firefox中是无法执行的。
  PS:在IE中event作为window对象的一个属性已经呗定义因此可以直接使用,不过在Firefox中是通过传参的方法来传播的,比如上面示例中的传入参数e.
  希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
百度网友ab89c27
2014-08-17 · TA获得超过257个赞
知道小有建树答主
回答量:101
采纳率:100%
帮助的人:125万
展开全部
你好,在 <body onkeydown="_keydown(event)">传入event为参数就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式