JavaScript выполнить функцию после нажатия Enter - PullRequest
1 голос
/ 05 ноября 2010

Я хотел знать, как можно вызвать функцию javascript, как только вы нажмете клавишу «возврат (ввод»), как в системах чата

Ответы [ 3 ]

2 голосов
/ 05 ноября 2010

Следующее будет надежно делать то, что вы хотите во всех основных браузерах.В IE вам нужно получить объект события через window.event, потому что он не передается в качестве параметра функции.Кроме того, использование кода символа вместо кода ключа будет означать, что все клавиши ввода автоматически обнаруживаются без необходимости отдельного обнаружения для каждого.

Для получения дополнительной информации об обработке ключевых событий в JavaScript я считаю http://unixpapa.com/js/key.html окончательная ссылка.

document.onkeypress = function(evt) {
    evt = evt || window.event;
    var charCode = evt.which || evt.keyCode;
    if (charCode == 13) {
        // Insert Enter handling code here
        alert("Enter pressed");
    }
};
0 голосов
/ 19 апреля 2012

Введите любую вещь в текстовом поле, затем нажмите Enter, чтобы выполнить

<form onSubmit='alerttest(this); return false'>        
    <input type="text">         
</form>


<script language="javascript">
    function alerttest()
    {
        alert("Executing jolly.exe !!!!");
        // function edited by Inderpreet singh
    }
</script>
0 голосов
/ 05 ноября 2010
window.onkeypress = function(e)
{
 switch(<del>e.keyCode</del> e.which) //[2]
 {
  case NUMPAD_ENTER_KEY_CODE: //[1]
  case ENTER_KEY_CODE:
   doSomething();
   return false;
  default:
   if (window.console) console.log(<del>e.keyCode</del> e.which); //[2]
   return true;
 }
}

это затем расширяется для работы с любым количеством кодов клавиш. Вы также можете попробовать события onKeyDown или onKeyUp.

Не забудьте заменить ENTER_KEY_CODE фактическим кодом ключа (32?). Это должно распечатать keyCodes любых клавиш, которые не введены, чтобы вы могли выяснить их keyCodes.

Редактировать:
[1] Я забыл упомянуть, что вы, возможно, захотите определить код ввода с цифровой клавиатуры.
[2] Я забыл, что onkeypress использует e.which для хранения keyCode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...