Захват активности клавиш Shift с использованием JavaScript - PullRequest
2 голосов
/ 14 февраля 2010

Я использую JavaScript и jQuery и хотел бы вызвать функцию, когда пользователь отпускает клавишу Shift. Приведенный мною код работает во всех протестированных мною браузерах, однако в консоли ошибок с использованием Firefox 3.5.7 появляется следующее предупреждение Я пробовал jQuery 1.2.6, 1.3.2 и 1.4.1.

Предупреждение: свойство charCode события keyup не должно использоваться. Значение не имеет смысла.

Я искал в Google это предупреждение, но не смог найти однозначного ответа о том, как его предотвратить. Это код, который я использую, у кого-нибудь есть предложения?

$(document).ready(
  function() {
    $(document).keyup(function(e) {
      if(e.keyCode == 16) {
        alert("Do something...");
      }
    });
  }
);

Ответы [ 3 ]

2 голосов
/ 14 февраля 2010

Вы не можете использовать jQuery. Это довольно просто без него:

document.onkeyup = function(evt) {
    evt = evt || window.event;
    if (evt.keyCode == 16) {
        alert("Shift");
    }
};

Обратите внимание, что некоторые старые браузеры (Safari до версии 3.1, Firefox до версии 1.0) не запускают события keyup для клавиш-модификаторов, например Shift.

0 голосов
/ 14 февраля 2010

Вам также необходимо учитывать кросс-браузерные проблемы, см. Кросс-браузерное решение здесь:

http://cross -browser.com / х / примеры / shift_mode.php

0 голосов
/ 14 февраля 2010

charCode может использоваться jQuery (так как вы его не используете). В этом случае вам не нужно беспокоиться об ошибке.

...