У меня есть немного JQuery для подавления возврата каретки, когда клиенты заполняют наши формы:Обнаружение Textarea объекта в JQuery
$('form.eForm:not(.suppress-submit-on-enter-key-disabled) :not(:button, :submit)').keypress(function(e){
if(e.which == 13){
// Cancel submit event
e.preventDefault();
// Give focus to next input element
$(':input').eq($(this).index(':input') + 1).focus();
}
});
Тем не менее, также удалось подавить возврат каретки на наш комментарий коробки.
казалось достаточно просто добавить textarea
шашку как существующий код должен проверить : нет (: кнопки: отправить):
$('form.eForm:not(.suppress-submit-on-enter-key-disabled) :not(:button, :submit, :textarea)').keypress(function(e){
if(e.which == 13){
// Cancel submit event
e.preventDefault();
// Give focus to next input element
$(':input').eq($(this).index(':input') + 1).focus();
}
});
Упс! : not (: button,: submit, textarea) не работал, потому что кажется, что textarea
не определен для этой части jQuery.
Как их обнаружить TextArea элементы управления?
Update:
Один из людей, которые отправили ответ здесь оказалось есть решение.
Класс eForm
, который генерирует все наши формы, был каким-то образом поймать это.
Мне понадобился мой менеджер, и я пару часов стучал по нему, чтобы решить проблему, но в конце концов мне нужно было только обрабатывать события с Вход.
Вот наш конечный результат:
$('form.eForm:not(.suppress-submit-on-enter-key-disabled) :input:not(:button, :submit, textarea)').keypress(function (e) {
if(e.which == 13){
// Cancel submit event
e.preventDefault();
// Give focus to next input element
$(':input').eq($(this).index(':input') + 1).focus();
}
});
Особая благодарность Khawer Zeshan для обеспечения, что Скрипка. Мне показалось, что в моем коде есть что-то более глубокое.
Быстрый поиск приводит меня к [это] (http://stackoverflow.com/a/825720/778118) ... – jahroy
Получение индекса элемента в наборе? '$ ('input'). index (this)' – undefined