Firefox没有处理keyCode's.它在调试器中将变量显示为矩阵
Firefox is not processing keyCode's. It displays the variables as a matrices in debugger
此代码在Edge和Chrome等其他浏览器上运行良好,但由于某些原因,Firefox不想检测keyCode中的值。
注意:我使用了调试器,当我按下前面的示例"2"时,它的keychar应该在调试器监视列表上是2,但它给了我一个wierd矩阵符号"[00]";
它的作用:防止用户输入任何不是数字0-9 的字符
这是我的代码:
function keyHandlerForID(e)
{
var keycode = e.keyCode;
var keychar = String.fromCharCode(keycode);
if(keychar < '0' || keychar > '9')
{
e.preventDefault();
}
}
function start()
{
document.getElementById("studentID").addEventListener("keypress", keyHandlerForID, false);
}
window.addEventListener("load",start,false);
就像我说的,这是我的脚本,但它适用于除Firefox之外的所有浏览器。
您需要使用which
或charCode
属性:
function keyHandlerForID(e)
{
var keycode = e.which || e.charCode || e.keyCode;
var keychar = String.fromCharCode(keycode);
if(keychar < '0' || keychar > '9')
{
e.preventDefault();
}
console.info(e, keycode, keychar)
}
相关文章:
- VS2010 javascript调试器希望在VS2010的新实例中启动
- 变量在运行时未定义,但在使用调试器时定义
- 调试器;[错误]194:11:标识符是一个保留字
- 在页面检查器中启用javascript调试器
- console.assert失败时中断chrome调试器
- 仅打开调试器时出现Google chrome扩展错误
- 如何使eval'd调试器可访问的javascript代码
- 为什么调试器会给你“;undefined不是函数“;而不是只告诉您不是函数的属性/变量的名称
- 访问节点调试器中的外部作用域变量 repl.
- 使用调试器从内部函数调用外部函数中定义的变量
- 为什么我无法访问 Chrome 调试器中 $.each 循环中的变量
- 如何让 Chrome 调试器在处理未定义的变量时中断或出错
- 如何在firefox调试器中找到此变量的值
- 如何防止用户修改绑定到html控件的javascript变量的值(使用任何web浏览器的调试器选项)
- 为什么在使用变量“name”时,我在 Chrome 调试器中得到错误对象没有方法
- Firefox没有处理keyCode's.它在调试器中将变量显示为矩阵
- 在Chrome调试器中显示为同时具有值和未定义的变量
- 如何在Chrome调试器中添加一个监视器到匿名函数中声明的变量
- 如何获得本地变量数组与firefox/firebug/chrome调试器
- 为什么悬停在Chrome调试器实际上修改变量,而不是评估表达式