jQuery - 当我按下“tab”键移动时,如何“激活”输入?

时间:2016-05-06 22:34:14

标签: javascript jquery events triggers

我有一个表单,当我移动一个输入,其中包含用户应该输入日期的位置(点击进入后,我从jQuery-UI激活日期时间选择器),没有任何反应。

当我点击该字段时,数据时间选择器被触发,这没关系。但是当我按下tab键移动到此输入时,日期时间选择器未激活。我该如何激活它?

我试过

$(function() {
  $('body').on('blur','.date_field', function(e) {
    $(this).datepicker({dateFormat: 'yy-mm-dd'}).focus();
  }
});

但它不起作用。我还尝试使用keypresskeydown并比较键码,但它也不起作用。

如何通过按tab键移动输入来激活日期时间?

修改

我也尝试bind但没有成功。

谢谢。

1 个答案:

答案 0 :(得分:0)

问题中的

js在事件处理程序中缺少关闭)。在.datepicker()事件之前初始化blur。已将tabindex="1"添加到input元素。实际上,不需要blur事件,并且似乎递归地将焦点添加到input元素。



$(function() {
  $(".date_field").datepicker({dateFormat: "yy-mm-dd"});
  //$("body").on("blur",".date_field", function(e) {
  // $(this).focus();
  //})
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script>
Date: <input type="text" class="date_field" tabindex="1">
&#13;
&#13;
&#13;