我有类似的代码:

$("#some-input").keyup(function (event) {
  var availableKeys = [".", ",", ";"];
  var key = String.fromCharCode(event.which);
  if (availableKeys.indexOf(key) != -1) {
    alert("Derp");
  }
});

然而,它并没有像我预期的那样工作。 event.which/fromCharCode 组合在数字或字母(大写)上正常工作,这是正确的行为,因为(我认为)事件键码与字符集条目不同。

除了直接指定用于比较的键码(保留字符数组是优先事项)之外,还有其他解决方法吗?

最佳答案

您可以改用 keypress。喜欢

$("#some-input").bind('keypress', function(e) {
    var availableKeys = [".", ",", ";"];

    if(availableKeys.indexOf( String.fromCharCode( e.which ) ) > -1 ) {
        alert('Derp');
    }
});

关于javascript - 确定按下的键是否在提供的数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8502368/

10-12 15:05