测试AJAX时遇到的firefox2.0的onkeyup事件问题

var xmlHttp;
function createXMLHttpRequest(){
      if(window.ActiveXObject){
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
       }
       else if(window.XMLHttpRequest){
         xmlHttp=new XMLHttpRequest();
       }
       }
function valideMail(e){
     createXMLHttpRequest();
     var ename= document.getElementById("eName");

学习ajax时,写了一段代码:

<form action="" method="post">
<table border="1" width=100%>
<tr><td height=30>
用户名称是:<input type="text" name="eName" id="eName"  οnkeydοwn="valideMail(e);">
</td></tr>
<tr><td height=50>
<span id="show"></span></td></tr>
</table>
</form>

 
<script type="text/javascript">
  var url = "example6-2a.php?ename=" + ename.value;

     xmlHttp.onreadystatechange=callBack;
     xmlHttp.open("GET",url,true);
     xmlHttp.send(null);
     }
function callBack(){
     if(xmlHttp.readyState==4){
        if(xmlHttp.status==200){
document.getElementById("show").innerHTML="服务器信息:"+xmlHttp.responseText;
              }
      }
  }
</script>

但在本机器(FreeBSD下FireFox2.0)上运行时,没有得到预期的效果,输入字符时无法显示(服务器信息:****),在别人的机器上访问我的服务器,用IE或FF(3.0)都能正常工作。搜了一下,没有得到满意的答案。有一个解释可能部分说明问题:

 

IE和Firefox下的onkeyup兼容问题

在 做一个搜索功能的时候,提交按钮被我换成图片,这时候想实现当用户输入完关键字后按回车自动触发提交,实现起来倒是简单,但是后来发现Firefox对 event.keyCode并不感冒,google了一下,原来Firefox下不支持keyCode返回功能键的值,如下:

在IE下:
支持keyCode,不支持which和charCode,二者值为 undefined
在Firefox下:
支持keyCode,除功能键外,其他键值始终为 0 ,支持which和charCode,二者的值相同

解决方法如下:

查看源码 JAVASCRIPT
function EnterSubmit(){
var _key;
document.onkeyup = function(e){
if (e == null) { // ie
_key = event.keyCode;
} else { // firefox
_key = e.which;
}
 
if(_key == 13){
s_submit();
}
};
}
我感觉可能是浏览器版本问题,如果有认遇到过类似问题,或者知道原因,可以说明,谢谢。

 

 

转载于:https://www.cnblogs.com/happyforev1/archive/2009/11/05/1596455.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值