创建新字段时,jQuery .focus在下一个输入字段上

时间:2015-08-22 16:47:22

标签: javascript jquery focus

我目前设置了jQuery,因此当用户按下某个字段时,会填充一组新字段。但是,重点仍然放在当前领域。如何进行设置,以便当有人按下回车键时,焦点会转到新字段上?

咖啡

from typing import Iterator

def fib(n: int) -> Iterator[int]:
    a, b = 0, 1
    while a < n:
        yield a
        a, b = b, a + b

视图

$('.teaser-form').keyup (e) ->
  if e.keyCode == 13
    $('.add-new-list').click()

enter image description here

如果你看到,我输入了单词.nested-fields.gear-patrol .col-md-10 .gear-handler-cover = f.text_field :category, class: 'form-control list-category', placeholder: "Category" .col-md-2 = link_to_remove_association "Remove", f, class: 'btn btn-default pull-right' .col-md-12 = f.text_area :list, class: 'form-control', rows: "3", placeholder:'List your items (separated by commas)' .col-md-12 = f.text_field :list, class: 'teaser-form form-control', placeholder: 'testing' ,这是第一组字段。在这个输入字段中,我可以按Enter,其他人将填充,但我的焦点仍然在第一个元素。

我希望每次点击输入时都能专注于新的enter

1 个答案:

答案 0 :(得分:0)

你想做这样的事吗?

$(function () {
  $("input").keyup(function (e) {
    if (e.keyCode == 13 && $(this).val().trim().length > 0)
      $(this).closest("p").next().find("input").focus();
  });
});
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<p>Type something and press Enter.</p>
<p><input type="text"></p>
<p><input type="text"></p>
<p><input type="text"></p>
<p><input type="text"></p>
<p><input type="text"></p>
<p><input type="text"></p>
<p><input type="text"></p>
<p><input type="text"></p>
<p><input type="text"></p>
<p><input type="text"></p>

这也可以防止用户在空白文本框中按Enter键。