javascript仅选择输入焦点上字符串的一部分

javascript仅选择输入焦点上字符串的一部分,javascript,input,focus,Javascript,Input,Focus,我有很多日期输入字段的表单。我只想选择日期的前两个字符,例如,仅在关注输入字段时才选择日期的日期部分。我通过以下代码完成了这一点: $(".date").focus(function() { this.setSelectionRange(0, 2); }); 问题是,只有当我用鼠标点击关注输入字段时,这才有效。但如果使用键盘上的表格键在输入字段之间移动,则会选中输入字段中的整个文本。这也可以通过JavaScript控制吗 下面是上面演示的示例。听起来像是在您的处理程序之后运行默认处理程序

我有很多日期输入字段的表单。我只想选择日期的前两个字符,例如,仅在关注输入字段时才选择日期的日期部分。我通过以下代码完成了这一点:

$(".date").focus(function() {
  this.setSelectionRange(0, 2);
});
问题是,只有当我用鼠标点击关注输入字段时,这才有效。但如果使用键盘上的表格键在输入字段之间移动,则会选中输入字段中的整个文本。这也可以通过JavaScript控制吗


下面是上面演示的示例。

听起来像是在您的处理程序之后运行默认处理程序

通过运行以下命令停止浏览器的默认处理程序来防止此情况:

$(".date").focus(function(e) {
    e.preventDefault();
    this.setSelectionRange(0, 2);
});

我在这里发布了一个答案,与您想要的内容相关,请查看:

没有考虑过这个问题,但不幸的是没有帮助。看起来它只选择了第一个tho字符,但随后立即选择了整个字符串…@PrimozRome我已经按照测试了更改。它在IE11和Firefox 27中似乎可以正常工作,但在Chrome 32中却不行。Chrome似乎不支持setSelectionRange。嗯,是的,它可以在fiddle和Firefox上工作,但在我的项目代码中不起作用。仍在找出造成差异的原因。