2009-12-29 3 views
1

Если я набираю текст в поле ввода и нажимаю ENTER, то поведение по умолчанию для всех браузеров, которые я знаю, это отправить форму, но если я нажму ENTER внутри текстового поля, добавится новая строка.Переопределить TAB внутри браузера

Есть ли способ имитировать это поведение (отступ, а не отправить форму) всякий раз, когда я нажимаю TAB внутри текстового поля?Bespin похоже, но в canvas элемент.

ответ

9

Я не сделал это сам, но, похоже, можно переопределить обработчик событий и поймать ключ. См. here.

О, и для толпы JQuery есть даже plugin.

+0

+1 По причине спасибо Пекки! –

+0

К сожалению, мертвая ссылка :( –

+0

@ Капитан обновлен тем, который работает, спасибо! –

2

Конечно, есть способ. Вы используете какую-либо библиотеку js? Если нет, идея состоит только в том, чтобы добавить обработчик события в элемент textarea, проверить обработчик, если keyCode события равен 9, и если это так добавить «\ t» к содержимому текстового поля. Прототип фрагмента:

textarea.observe('keydown', function (e) { 
    if(e.keyCode==9) { 
    e.element().insert("\t"); 
    e.stop(); 
    } 
} 
Смежные вопросы