【问题标题】:jQuery - how to "activate" input when I move on it with pressing "tab" key?jQuery - 当我按下“tab”键时如何“激活”输入?
【发布时间】:2016-05-06 22:34:14
【问题描述】:

我有一个表单,当我移动一个包含用户应该输入日期的输入时(单击它后,我从 jQuery-UI 触发日期时间选择器),没有任何反应。

当我单击该字段时,会触发数据时间选择器,这很好。但是当我通过按tab 键移动到这个输入时,日期时间选择器没有被激活。如何激活它?

我试过了

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

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

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

编辑:

我也试过bind,但没有成功。

谢谢。

【问题讨论】:

    标签: javascript jquery events triggers


    【解决方案1】:

    js 在问题处理程序中缺少关闭)。在blur 事件之前初始化.datepicker()。将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">

    【讨论】:

    • 您好,感谢您的回答。我在代码中有$('body') 部分,因为我正在动态添加.date_field
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多