我正在使用JavaScript和jQuery,并希望在用户释放Shift键时调用一个函数。到目前为止,我提供的代码可以在我测试过的所有浏览器中使用,但是在使用Firefox 3.5.7的错误控制台中会出现以下警告。我已经尝试过jQuery 1.2.6、1.3.2和1.4.1。
警告:不应使用keyup事件的'charCode'属性。该值无意义。
我在Google上搜索了此警告,但找不到如何防止它发生的明确答案。这是我正在使用的代码,有没有人有任何建议?
$(document).ready(
function() {
$(document).keyup(function(e) {
if(e.keyCode == 16) {
alert("Do something...");
}
});
}
);
charCode可能由jQuery使用(因为您没有使用它)。在这种情况下,您实际上不必关心错误消息。
您不能使用jQuery。没有它,这很简单:
document.onkeyup = function(evt) {
evt = evt || window.event;
if (evt.keyCode == 16) {
alert("Shift");
}
};
[请注意,某些较旧的浏览器(3.1之前的Safari,1.0之前的Firefox)不会触发Shift等修饰键的keyup
事件。
您还需要考虑跨浏览器的问题,请参见此处的跨浏览器解决方案: