首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保持焦点,防止除Tab键以外的字符输入

保持焦点,防止除Tab键以外的字符输入
EN

Stack Overflow用户
提问于 2018-09-07 15:48:08
回答 1查看 150关注 0票数 0

在jQuery日期选择器中选择日期后,我是否可以继续专注于输入元素?另外,有没有什么我可以防止用户键入任何东西,但启用Tab键?我目前使用的是防止默认方法,但我只需要启用Tab键。谢谢。这是我目前的方法。

代码语言:javascript
复制
$('body').on('focus',".dateSem",function() {
    $(this)
      .datepicker({
        changeMonth: true,
        changeYear: true,
        changeDay: true,
        showButtonPanel: true,
        dateFormat: 'yy/MM/dd',
        showMonthAfterYear: true,
        monthNames: ["01", "02", "03", "04",
          "05", "06", "07", "08", "09", "10",
          "11", "12"
        ],
        monthNamesShort: ["1", "2", "3", "4",
          "5", "6", "7", "8", "9", "10",
          "11", "12"
        ],
        dayNamesMin: ["日", "月", "火", "水", "木",
          "金", "土"
        ],
        minDate: new Date,
        currentText: '今日を選択',
        closeText: '確定',
        onClose: function(dateText, inst) {
          $(this).datepicker(
            'setDate',
            new Date(inst.selectedYear,
              inst.selectedMonth,
              inst.selectedDay));
        }
      });
    $(this).keydown(function(e) {
      e.preventDefault();
    });

  });
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-07 16:57:53

我已经用下面的html做了一个简单的实现(请不要忘记包含jquery和jqueryui)

代码语言:javascript
复制
<label>Date pick 1</label>
<input type="text" class="mydatepicker" />
<br />
<label>Test focus</label>
<input type="text" /><br />
<label>Date pick 2</label>
<input type="text" class="mydatepicker" />
<br />
<label>Simple text to check tab focus</label>
<input type="text" />

和javascript代码

代码语言:javascript
复制
$('.mydatepicker')
 .keydown(function(e){
  if(e.keyCode==9){
     return true;
  }
  return false;
})
.datepicker({
  onSelect:function(date){
   $(this).focus();
  }
});

和解释

您选择具有类.mydatepicker的所有输入字段,并分配一个onkeydown事件,在此事件中,您禁用所有键输入,除非键码等于9(这意味着等于制表符)

然后在onSelect函数(该函数在用户选择日期之后运行)中转换它们,并调用$(this).focus(),其中this是当前输入元素

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52217785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档