Получение событий по 1 символу за раз в Javascript - PullRequest
2 голосов
/ 31 октября 2009

Я довольно новичок в javascript, так что терпите меня, если это очевидно.

По сути, я хотел бы реализовать небольшой интерфейс, в котором при вводе чего-либо в текстовое поле выдается событие. Что-то вроде того, как работает предварительный просмотр после переполнения стека. Я попытался подключиться к событию OnChange, но это дает событие, только когда они закончили редактирование поля (и текстовое поле теряет фокус). Я хочу, чтобы каждый раз, когда они что-то делали с текстом внутри текстового поля, чтобы получить событие ..

Ответы [ 5 ]

5 голосов
/ 31 октября 2009

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

2 голосов
/ 31 октября 2009

О, попробуйте событие onkeydown.

Вот глупый пример:

<html>
<body>
<form action="" method="POST" id="myForm">
<input type="text" name="myText" onkeydown="doAlert(event);"/>

<script type="text/javascript" language="JavaScript">

function doAlert(e) {

  if(window.event)
  {
      alert( window.event.keyCode);
  }
  else if(e)
  {
      return alert(e.which);
  }
  else
  {
      return null;
  }

}

</script>
</form>
</body>
</html>
1 голос
/ 31 октября 2009

Вы можете попробовать событие onkeyup:

<html>
<head>
    <title>Test</title>
</head>
<body>

<input type="text" name="test" value="" onkeyup="javascript:document.getElementById('preview').innerHTML = this.value;" />

<div id="preview"></div>

</body>
</html>
0 голосов
/ 31 октября 2009

Попробуйте связать с одним из следующих событий: onkeydown, onkeypress или onkeyup.

0 голосов
/ 31 октября 2009

onkeypress может быть то, что вы хотите.

...