Как уловить ввод keypress на textarea, но не сдвиг + ввод?
Я делаю это для тексарии. Функция должна вызываться, когда пользователь нажимает Enter, но ничего не следует делать при нажатии Shift + Enter.
Я пытаюсь имитировать здесь функцию, которую имеют многие IM-коммуникаторы: отправляет сообщение на Enter, но также добавляет несколько строк, используя Shift + Enter.
Ответы
Ответ 1
Проверьте код ввода (13) и нажмите клавишу переключения.
...onkeyup = function(e) {
if (e.keyCode == 13)
{
// if (e.shiftKey === true)
if (e.shiftKey) // thruthy
{
// new line
}
else
{
// run your function
}
return false;
}
}
Изменить: Принять все правдивые значения e.shiftKey
Ответ 2
element.onkeydown = function(o) {
o = o || event;
if (o.shiftKey && o.keyCode == 13) {
/* shift + enter pressed */
}
}
Ответ 3
Я считаю, что вам нужно событие keydown, а также проверить ключ SHIFT, http://www.quirksmode.org/js/keys.html
Ответ 4
Посмотрите на свойство shiftKey объекта события, которое сообщит вам, был ли сдвиг проведен во время нажатия клавиши.