聚焦处理程序也会在focusin上触发

时间:2018-08-06 12:07:12

标签: javascript jquery

我有jQuery代码,每当文本输入被聚焦时,它就会执行AJAX请求。我不明白的是,当我专注于AJAX请求得到执行时。没有定义focusin函数。下面的代码段:

 $(function() {
      // some other functions here but no focusin function defined.

      $( "#additem" ).click(function(e) {
        e.preventDefault();
        var _id = "new_pn", _holder = "Enter part number here", btnId = "post", btnIcon = "fa fa-save", btnText = " Add Serial", formId = "new-sn";
        openModal(_id, _holder, btnId, btnIcon, btnText, formId);
      });

      var openModal = function(a,b,c,d,e, f) {
        var txtInput = $("#myModal form input")[1], btn = $("#myModal form button")[0], icon = $("#myModal form i")[0], form = $("#myModal form")[0];
        txtInput.id = a;
        txtInput.placeholder = b;
        btn.id = c;
        icon.className = d;
        form.id = f;
        $($("#myModal form span")[1]).text(e);
        $("#myModal").attr('style', 'display:block');
      };

      //Check serial before saving when text field is focusout. 2nd argument, #new-sn is a dynamically created form id.
      $('#myModal').on('focusout', $('#new-sn input')[0], function() {
        var sn = $("#serial").val();
        if (sn) {
          Promise.resolve(GetDocumentItems(serialsDb, sn)).then(function() {
            console.log(sn.toUpperCase() + " already exists in the database");
          }).catch(function() {
            console.log(sn.toUpperCase() + " is cleared to save in database.");
          });
        }
      });
    });

我在这里做错了什么?干杯

在下面添加了HTML代码:

<div id="myModal" class="modal">
  <div class="modal-content">
    <!--variable form id (depends on the caller)-->
    <form>  
      <div class="container">
        <span class="close">&times;</span>
          <input id="serial" type="text" placeholder="Enter serial number here">

          <!--2nd text box, variable id and placeholder (depends on the caller)-->
          <input type="text"> 
          <!--button variable id and i variable class (invoker dependent).-->
          <button class="green"><i></i> <span></span></button>
       </div>
     </form>
  </div>
</div>

0 个答案:

没有答案