EnterKey иногда не работает в IE8, используя jQuery keyPressed - PullRequest
3 голосов
/ 05 марта 2011

в моем HTML CSS:

.edit_field {
    height: 50px;
    width: 495px;
    line-height: 3.6;
}

HTML:

<textarea id="message" class='edit_field'>Enter message here</textarea>

javascrpt:

$('#message').keypress(function(event) {
    // not getting fired this block when I pressed enter key
    // For all other keys its got fired well.
    if(event.which == 13) {
        // -- -- --
     }
});

Есть ли проблема в моем коде или в моем браузере (IE8)?

Ответы [ 3 ]

5 голосов
/ 05 марта 2011

Попробуйте это:

$('#message').keyup(function(e){
  if(e.keyCode == 13){
    //your code probably want e.preventDefault() as well
  }
});

Я обнаружил, что реализация нажатия клавиш не так уж подходит для разных браузеров. Просто мысль.

Редактировать : Теперь я помню, почему это не работает в IE8. Клавиша ввода (код клавиши 13) считается «Специальной клавишей» (как и другие, такие как клавиши со стрелками на клавиатуре). IE НЕ запускает событие нажатия клавиши для «Специальных клавиш», поэтому мне пришлось использовать keyup.

Вы можете найти больше информации здесь: http://www.quirksmode.org/dom/events/keys.html

Смотрите в разделе "Специальные ключи"

3 голосов
/ 05 марта 2011

e. который не работает в IE, попробуйте e.keyCode, также вы, вероятно, хотите использовать keydown () вместо keypress (), если вы нацелены на IE.

См. http://unixpapa.com/js/key.html для получения дополнительной информации.


Событие jQuery keypress () не запускается?

0 голосов
/ 05 марта 2011

Я тоже сталкивался с этим, особенно с таблицами, использующими onKeyDown () в IE7.Другие ключи работают нормально, но вводить сложно.Я решил свою проблему, переместив свой триггер onkeydown () в HTML, из определенных мест он не будет выбирать ввод, но будет собирать другие.

Если я вспомню, он изначально был в теге body и переместился в<div> только внутри тела сразу же позволил мне обнаружить вход.Я использовал JSP с переключателем, но я не думаю, что это сильно отличается

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