Ну, это мой код, я пытаюсь добавить к кнопке ввода поведение вкладки (когда я нажимаю кнопку ввода, следующий ввод будет фокусироваться).
Когда я нажимаю клавишу ввода, появляется Uncaught RangeError. Все перепробовала, но ничего не изменилось.
Окружающая среда: JavaEE (начальные символы). jquery.
function ifNotTextPass(selector) {
if (selector.next().is('input[type="text"]')) {
alert('yes');
selector.next().focus();
} else {
if (selector.next() !== null) {
ifNotTextPass(selector.next());
}
}
}
$(document).ready(function () {
$('input[type="text"]').keypress(function (e) {
if (e.keyCode === 13) {
ifNotTextPass($(this));
}
});
});
2 ответа
Проблема в том, что бесконечный вызов функции, как и бесконечный цикл.
Я изменил всю структуру кода. И я пришел к решению без каких-либо ошибок.
Этот код придаст кнопке ввода то же поведение, что и кнопка вкладки. плюс он будет сосредоточен только на тексте и текстовых областях.
$(document).on('keydown', 'input[type="text"],textarea', function(e) {
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
if(key === 13) {
e.preventDefault();
$(this).focus();
var inputs = $(this).parents('body').find(':input[type="text"]:enabled:visible:not("disabled"),textarea');
inputs.eq( inputs.index(this)+ 1 ).focus();
inputs.eq( inputs.index(this)+ 1 ).click();
e.preventDefault();
e.stopPropagation();
}
}
Селектор jQuery никогда не вернет null, поэтому у вас есть рекурсия до тех пор, пока стек не переполнится. Попробуйте вместо этого:
if (selector.next().length) {
Похожие вопросы
Новые вопросы
jquery
jQuery — это библиотека JavaScript. Также рассмотрите возможность добавления тега JavaScript. jQuery — это популярная кросс-браузерная библиотека JavaScript, которая упрощает обход объектной модели документа (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться рассматриваемым кодом, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.