• <small id='M9DiW'></small><noframes id='M9DiW'>

      <bdo id='M9DiW'></bdo><ul id='M9DiW'></ul>
    <legend id='M9DiW'><style id='M9DiW'><dir id='M9DiW'><q id='M9DiW'></q></dir></style></legend>

    1. <i id='M9DiW'><tr id='M9DiW'><dt id='M9DiW'><q id='M9DiW'><span id='M9DiW'><b id='M9DiW'><form id='M9DiW'><ins id='M9DiW'></ins><ul id='M9DiW'></ul><sub id='M9DiW'></sub></form><legend id='M9DiW'></legend><bdo id='M9DiW'><pre id='M9DiW'><center id='M9DiW'></center></pre></bdo></b><th id='M9DiW'></th></span></q></dt></tr></i><div id='M9DiW'><tfoot id='M9DiW'></tfoot><dl id='M9DiW'><fieldset id='M9DiW'></fieldset></dl></div>
      <tfoot id='M9DiW'></tfoot>

        达到 maxlength 值后关注下一个输入

        时间:2024-04-18

        1. <tfoot id='wMZYz'></tfoot>
          <i id='wMZYz'><tr id='wMZYz'><dt id='wMZYz'><q id='wMZYz'><span id='wMZYz'><b id='wMZYz'><form id='wMZYz'><ins id='wMZYz'></ins><ul id='wMZYz'></ul><sub id='wMZYz'></sub></form><legend id='wMZYz'></legend><bdo id='wMZYz'><pre id='wMZYz'><center id='wMZYz'></center></pre></bdo></b><th id='wMZYz'></th></span></q></dt></tr></i><div id='wMZYz'><tfoot id='wMZYz'></tfoot><dl id='wMZYz'><fieldset id='wMZYz'></fieldset></dl></div>

            • <bdo id='wMZYz'></bdo><ul id='wMZYz'></ul>
              • <legend id='wMZYz'><style id='wMZYz'><dir id='wMZYz'><q id='wMZYz'></q></dir></style></legend>

                <small id='wMZYz'></small><noframes id='wMZYz'>

                    <tbody id='wMZYz'></tbody>
                • 本文介绍了达到 maxlength 值后关注下一个输入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  前一个输入达到其最大长度值后,如何聚焦下一个输入?

                  How can I focus the next input once the previous input has reached its maxlength value?

                  a: <input type="text" maxlength="5" />
                  b: <input type="text" maxlength="5" />
                  c: <input type="text" maxlength="5" />
                  

                  如果用户粘贴的文本大于最大长度,理想情况下它应该溢出到下一个输入中.

                  If a user pastes text that is greater than the maxlength, ideally it should spill into the next input.

                  jsFiddle: http://jsfiddle.net/4m5fg/1/

                  我必须强调我想使用插件,因为我更愿意学习其背后的逻辑,而不是使用已经存在的东西.感谢理解.

                  I must stress that I do not want to use a plugin, as I'd much rather learn the logic behind this, than use something that already exists. Thanks for understanding.

                  推荐答案

                  没有使用 jQuery 并且是一个非常干净的实现:

                  No jQuery used and is a very clean implementation:

                  • 从 maxlength 属性中读取.
                  • 可扩展到容器内任意数量的输入.
                  • 自动查找下一个要关注的输入.
                  • 没有 jQuery.

                  http://jsfiddle.net/4m5fg/5/

                  <div class="container">
                  a: <input type="text" maxlength="5" />
                  b: <input type="text" maxlength="5" />
                  c: <input type="text" maxlength="5" />
                  </div>
                  

                  ..

                  var container = document.getElementsByClassName("container")[0];
                  container.onkeyup = function(e) {
                      var target = e.srcElement || e.target;
                      var maxLength = parseInt(target.attributes["maxlength"].value, 10);
                      var myLength = target.value.length;
                      if (myLength >= maxLength) {
                          var next = target;
                          while (next = next.nextElementSibling) {
                              if (next == null)
                                  break;
                              if (next.tagName.toLowerCase() === "input") {
                                  next.focus();
                                  break;
                              }
                          }
                      }
                      // Move to previous field if empty (user pressed backspace)
                      else if (myLength === 0) {
                          var previous = target;
                          while (previous = previous.previousElementSibling) {
                              if (previous == null)
                                  break;
                              if (previous.tagName.toLowerCase() === "input") {
                                  previous.focus();
                                  break;
                              }
                          }
                      }
                  }
                  

                  这篇关于达到 maxlength 值后关注下一个输入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:在 JavaScript 中对数组进行 for-each 下一篇:使用 JavaScript 循环遍历日期范围

                  相关文章

                    <bdo id='3Q0IB'></bdo><ul id='3Q0IB'></ul>
                  <legend id='3Q0IB'><style id='3Q0IB'><dir id='3Q0IB'><q id='3Q0IB'></q></dir></style></legend>
                  <i id='3Q0IB'><tr id='3Q0IB'><dt id='3Q0IB'><q id='3Q0IB'><span id='3Q0IB'><b id='3Q0IB'><form id='3Q0IB'><ins id='3Q0IB'></ins><ul id='3Q0IB'></ul><sub id='3Q0IB'></sub></form><legend id='3Q0IB'></legend><bdo id='3Q0IB'><pre id='3Q0IB'><center id='3Q0IB'></center></pre></bdo></b><th id='3Q0IB'></th></span></q></dt></tr></i><div id='3Q0IB'><tfoot id='3Q0IB'></tfoot><dl id='3Q0IB'><fieldset id='3Q0IB'></fieldset></dl></div>

                  <tfoot id='3Q0IB'></tfoot>

                  1. <small id='3Q0IB'></small><noframes id='3Q0IB'>