IE和firefox浏览器关于获得键码值

问题描述

function inputnumber(){var e = e || event ; if(e.keyCode>47 && e.keyCode<58) //设置输入数字 { alert(e.keyCode) return true; }else{ alert("请出入数字"); return false; }ID号:<input type="text" name="id"/ size="8" onKeypress="return inputnumber()">用这个onKeypree获得键盘的键码值, 在IE中可以,为什么在firefox中就不可以了, 求解。。。。

解决方案

你的问题有两个:1、<input type="text" name="id"/ size="8" onKeypress="return inputnumber()"> 这样以内联的方式绑定事件时,实际上浏览器会像类似于下面这样的方式处理:document.getElementById('id').onkeypress = function(){ return inputnumber()}这样的话,在FF下你的event对象是无法获取的,因为FF里面事件对象是作为事件处理函数的第一个参数传递进去的。2、function inputnumber(){var e = e || event ; if(e.keyCode>47 && e.keyCode<58) //设置输入数字 { alert(e.keyCode) return true; }else{ alert("请出入数字"); return false; } 在FF里面有keypress事件对象有“keyCode”和“charCode”属性,这里你需要使用“charCode”来获取。下面是我改的:document.getElementById('qq').onkeypress = inputnumber;function inputnumber(ev){var e = ev || event ;alert(e);var code = e.charCode || e.keyCode;alert(code);if(code>47 && code<58) //设置输入数字{alert(code)return true;}else{alert("请出入数字");return false;}}把上面的代码放到window.onload里面。最后建议作者还是不要自己写这样的代码,浏览器兼容性是个很大的问题。采用JQuery这样的框架吧。
解决方案二:
键码即使获得了 你用这个办法也不太好。 你用jquery比较好 ,可以跨平台,每次在时间触发的时候,都内置有event对象使用,所有浏览器都可以。
解决方案三:
http://bbs.linuxphp.org/thread-690-1-1.html参考一下
解决方案四:
ff的event跟IE里的不同,IE的是全局,随时可用。FF的要用参数引导才能用,是运行时的临时对象。document.onkeydown=inputnumber;function inputnumber(e){ if(e.keyCode>47 && e.keyCode<58) //设置输入数字 { alert(e.keyCode) return true; }else{ alert("请出入数字"); return false; }

时间: 2024-07-30 17:33:52

IE和firefox浏览器关于获得键码值的相关文章

ajax在FireFox浏览器中无法取值

问题描述 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><!-- DW6 --><head><!-- Copyri

Javascript 检测键盘按键信息及键码值对应介绍_javascript技巧

Javascript中有3个事件句柄在对应键盘的输入状态:keydown.keypress和keyup. 分别对应的意思是:按键被按下(按下按键但还没有抬起).点击按键(按下并抬起按键).按键抬起(按键抬起之后) 按键的分类 按键可以分为"实键"和"虚键" 实键可以理解为我们能够看到并打印出来的按键,如字母"A".数字"1".字符"?"等等 虚键就是那些无法打印出来起到控制作用的按键,如"Ctrl

怎么更改Firefox浏览器的缓存文件位置

  更改Firefox浏览器的缓存文件位置: 1:打开Firefox浏览器,在左上角的地址栏空白处输入" about:config ",之后按下回车键(Enter) 2:鼠标单击"我保证会小心" 3:在列出来的表中任意鼠标右键,移动到新建,选择"字符串 "输入首选项名称为"browser.cache.disk.parent_directory" ,之后鼠标单击"确定" 4:输入 字符串 的值 ,为你需要保存

Linux下禁用Firefox浏览器的静默请求教程

  Linux Firefox浏览器的静默请求引起了很多争议,用户最好是把这个功能关闭,以免自己受到损失. 关闭 Firefox 的静默请求 当你的鼠标悬浮在一个链接上,浏览器会自动向目标服务器发出请求.关闭CSS. JavaScript和预取功能后仍然如此.早在2012年,就有用户向 bugzilla递交bug报告请求加入一个偏好选项可选择关闭静默请求,但至今其状态仍然是"不予处理". Mozilla的建议是用户可以从about:config中选择关闭自动请求--输入about:co

FireFox浏览器使用Javascript上传大文件_php实例

本程序是利用3.x的Firefox浏览器可以读取本地文件的特性,实现通过xmlHttPRequest上传大文件功能,并在可以上传过程中动态显示上传进度.略加修改,并与服务器端配合,可以实现断点续传等诸多功能.本例主要是研究FireFox的file-input节点的一些特性,其他客户端应用,如Flash.Sliverlight等,在实现客户端大文件上传时,在数据传输与服务器端存储等方面,与本例的思路基本一致.注意:文件体积似乎有临界点,但这个临界点是多少尚未确认.建议不要用此方法上传超过100M的

Firebug入门指南(Firefox浏览器)_javascript技巧

我最近就在学习怎么使用Firebug,网上找到一篇针对初学者的教程,感觉比较有用,就翻译了出来. 作者:Estelle Weyl 原文网址:http://www.evotech.net/blog/2007/06/introduction-to-firebug/ 译者:阮一峰 本文是Firebug的一个概览,并不对它的所有特性进行详尽解释.不过,本文的内容对一个新手来说,应该是足够了.   目录 一.安装Firebug 二.打开和关闭Firebug 三.Firebug窗口概览 四.随时编辑页面 五

电脑中如何移除火狐Firefox浏览器中不需要的组件

  电脑中如何移除火狐Firefox浏览器中不需要的组件?我们知道在火狐Firefox浏览器中可以安装一些插件,来为浏览器增加更多功能.如果想要删除火狐浏览器中已经安装的不需要的组件,那么在电脑中具体应该如何操作呢?这时可以按照下面提供的方法步骤进行设置. 1.打开火狐Firefox浏览器,右击标题栏,勾选显示菜单栏; 2.点击菜单栏中的工具--附加组件; 3.打开附加组件管理器后,点击最左侧的组件小图标; 4.找到不需要使用的组件,点击右侧的"移除"按钮; 5.移除组件完成后,会显示

js获取浏览器高度和宽度值

分享一个JAVASCRIPT取得浏览器宽度和高度值的代码,通常应用于HTML元素定位.. 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offsetWidth (包括边线的宽) 网页可见区域高: document.body.offsetHeight (包括边线的高) 网页正文全文宽: document.body.scrollWidth 网页正文全文高: d

IE与火狐(firefox)浏览器对js及css的支持差异

IE与火狐(firefox)浏览器对js及css支持的几处不同: 1.firefox不能对innerText支持,也不知道为什么.firefox支持innerHTML但却不支持innerText,所以上网查了一下,原来它改支持textContent来实现innerText,不过实现得没有那么好,默认把多余的空格也保留了.如果不用textContent,如果字符串里面不包含HTML代码也可以用innerHTML代替 2.禁止选取网页内容:在IE中一般用js:obj.onselectstart=fu