检测由shift键和其他键组合产生的特殊字符

时间:2016-02-11 07:48:24

标签: javascript html

例如,如何检测同时使用@ + keyup键时生成的keypress字符(使用shift2) ?

我尝试使用which来检测shift2是否一个接一个地输入但是如何检测shift是否被按下并且然后 2被按下了?

注意:我不仅想要检测是否一个接一个地按下shift2键,但是如果同时按下shift 2键以生成@

1 个答案:

答案 0 :(得分:1)

我遇到了这个问题,我得到的解决方案是: 键码只是检测按下了哪个键。可能不是哪个是另一个字符



$.ctrl = function(key, callback, args) {
  $(document).bind('keydown', function(e) {
    if (!args) args = []; // IE barks when args is null
    if (e.shiftKey && e.keyCode == key.charCodeAt(0)) {
      e.preventDefault();
      callback.apply(this, args);
      return false;
    }
  });
}
$.ctrl('2', function() {
  alert('@');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;