jQuery: если нажата клавиша "someKey" - PullRequest
4 голосов
/ 20 декабря 2011

я знаю, что могу обнаружить клавишу, которая была нажата со следующим кодом:

$('input').keyup(function (e){
if(e.keyCode == 13){
    alert('enter');
  }
})

Но мне нужно знать, была ли нажата какая-либо клавиша. псевдокод:

if ($('input').keyup() == true)
  { 
      doNothing();
  }
  else {
      doSomething();
  }

Как я могу это сделать?

Ответы [ 4 ]

7 голосов
/ 20 декабря 2011

Поскольку 'keyup' будет срабатывать при нажатии ЛЮБОЙ клавиши, вы просто пропустите if ...

$('input').keyup(function (e){
  // do something
})

Объединяя это с вашим текущим кодом, вы можете сделать что-то вроде ...

$('input').keyup(function (e){
  alert('a key was press');

  if (e.keyCode == 13) {
      alert('and that key just so happened to be enter');
   }
})
4 голосов
/ 20 декабря 2011
$('input').keyup(function (e){
    alert("You pressed the \"Any\"-key.");
})
2 голосов
/ 20 декабря 2011

Если вы хотите проверить, не нажимал ли пользователь клавишу, вы можете использовать функцию setInterval ().

var interval = setInterval(function() {
    //Do this if no key was pressed.
}, 2000);

Обратите внимание, что вы также должны очистить интервал clearInterval().

1 голос
/ 20 декабря 2011
$("input").keypress(function() {
  alert("hello.");
});
...