Firefox 提示event is not defined错误的解决办法

首先来看一段 html 代码:


01 <html>
02 <head>
03 <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>
04 <title>Firefox 提示event is not defined错误的解决办法title>
05 head>
06  
07 <body>
08 <scriptlanguage="javascript">
09 document.onkeydown=function mykeyDown(){
10     if(event.keyCode==13){alert('oh my www.phpernote.com');}
11     return;
12 }
13 script>
14 body>
15 html>

以上 js 代码的意思是你在当前页面点击 Enter 键的话,都会弹出一个警告框,警告内容自己看。这不是重点。

这段代码在 IE 中运行是正常的,但在Firefox中却会报 "event is not defined" 的错误!Firefox 报这个错误的原因是因为在 Firefox 使用的事件对象模型是W3C Dom,不同于IE Dom。Firefox DOM中并无 event,因为Firefox下不能通过 window.event 来获取 event 的对象。那么该如何解决呢?

经过多次测试,得出采用以下方法解决,可以同时兼容 IE 和 Firefox 的event 事件。对以上 js 代码稍作处理。


1 document.onkeydown=functionmykeyDown(e){
2     e=e||event;
3     if(e.keyCode==13){alert('oh my www.phpernote.com');}
4     return;
5 }

ok,至此 Firefox 提示 event is not defined 错误的问题得到解决。


你可能感兴趣的:(前端-javaScript)