У меня есть форма с входами, которые также имеет IFrame, внедренный в форме, которая также имеет входы (псевдо HTML):клавиши Enter на входе Автоматически Tab к следующему входу с полями в плавающих фреймах
<input type="text" name="one" value="one" />
<input type="text" name="two" value="two" />
<input type="text" name="three" value="three" />
<iframe
<input type="text" name="bacon" value="bacon">
</iframe>
<input type="text" name="four" value="four" />
<input type="text" name="five" value="five" />
Когда пользователь нажимают вкладки, они берутся с входа на вход даже внутри полей iframe, выбрав бекон после три. Мы все любим бекон.
У меня также есть некоторые JavaScript, который пытается сосредоточиться на следующий вход на клавишу ввода:
$(document).ready(function() {
$(document).on('keydown', 'input', function(ev) {
// Move to next on enter
if (ev.which === 13) {
var inputs = $(':tabbable');
var next = inputs.index(this) + 1;
var input = inputs.eq(next == inputs.length ? 0 : next);
input.focus();
return false;
}
});
});
Проблема заключается в том, что Javascript ввести код ключа никогда не фокусирует бекона поле, он будет пропускать прямо над ним. jsfiddle: перескочить ответы
https://jsfiddle.net/54n8mqkh/4/
Давайте, что включают в себя не с помощью IFrame. Я знаю, что это не идеальная реализация. Тем не менее, я бы принял ЛЮБОЙ ответ, который позволяет клавише ввода перемещаться по всем полям последовательно, включая iframe, используя любой тип javascript. Это не обязательно для jQuery.
Я пробовал несколько разных подходов к решению этого вопроса, но ни один из них не нашел работы. Заранее благодарим любого, у кого есть решение.
Кроме того, что вы не можете видеть в скрипке, что IFrame скрипку перезванивает к родительской скрипке для навигации для безупречной работы, которая предполагает такую же политику происхождения - быть предупреждена. – jriffel73