不应使用keyup事件的'charCode'属性。价值毫无意义

时间:2009-12-01 04:13:09

标签: jquery firebug

HTML code:

<input type="text" id="secrecy" name="secrecy" size="3" maxlengh="3" />Days

Jquery代码:

$('#secrecy').keyup(function(){
alert("ok");    
});

错误讯息:

  

密钥的'charCode'属性   不应该使用事件。价值是   无意义的。

Jquery代码不起作用。当我输入“保密”内容时,不会发出警报。出了什么问题?

6 个答案:

答案 0 :(得分:8)

你还在等待事件绑定直到Dom准备好了吗?

这样的事情可能有所帮助:

$(document).ready(function(){
  $('#secrecy').keyup(function(){
    alert("ok");    
  });
});

答案 1 :(得分:5)

我测试了您的代码并没有看到您提到的错误,您是否可以提供重现此错误的代码?

我在想它可能就是你正在使用的浏览器......

  

keyCode和charCode

     

这两个属性是keyCode和   则charCode。简单地说(也是)keyCode   说实话   用户按下键盘键,同时   charCode给出了ASCII的值   结果性格。这些比特   信息不必相同;对于   例如,小写'a'和   大写'A'具有相同的keyCode,   因为用户按下相同的键,   但是一个不同的charCode因为   结果性格不同。

     

资源管理器和Opera不支持   则charCode。但是,他们给了   keyCode中的字符信息,但是   只有onkeypress。 Onkeydown和-up   keyCode包含密钥信息。

来自quirksmode site,但我没有看到您在示例代码中使用过。你在用它们吗?

答案 2 :(得分:4)

这不是错误;这是一个警告。

它可能是由jQuery中的代码生成的,它将事件对象的属性复制到传递给处理程序的包装器。

你应该忽略它。

答案 3 :(得分:3)

更改charCode - &gt;源jquery-1.X.X.js中的XcharCode一切正常

在最新版本1.4.4中有“4”发生...

答案 4 :(得分:1)

我也遇到了麻烦。我分配事件但没有工作!

(文档)$。就绪(函数(){        $(“#test ul”)。bind(“keyup”,function(){         alert('Handler for .keyup()调用。');     });

})

答案 5 :(得分:1)

我遵循了迭戈的建议,警告在Firebug中消失了。 在这里也看到了同样的建议。 http://api.jquery.com/keyup/#comment-108497941