【问题标题】:javascript select only portion of string on input focusjavascript在输入焦点上仅选择字符串的一部分
【发布时间】:2014-02-13 01:19:48
【问题描述】:

我有很多日期输入字段的表单。在专注于输入字段时,我只想选择日期的前两个字符(例如仅日期的日期部分)。我已经用这段代码完成了这个:

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

问题是这仅在我通过鼠标单击专注于输入字段时才有效。但是,如果使用键盘上的TABULAR 键在输入字段之间移动,则会选择输入字段中的整个文本。这也可以通过 JavaScript 控制吗?

这也是上面演示的JSFiddle。

【问题讨论】:

    标签: javascript input focus


    【解决方案1】:

    听起来默认处理程序正在你的之后运行。

    通过运行停止浏览器的默认处理程序来防止这种情况:

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

    【讨论】:

    • 没有想过这个,但不幸的是没有帮助。看起来它只选择第一个字符,但随后立即选择整个字符串 ...
    • @PrimozRome 我已经按照jsfiddle.net/2KQXT/2 测试了更改。它似乎在 IE11 和 Firefox 27 中运行良好,但在 Chrome 32 中却不行。
    • Chrome 好像不支持setSelectionRange()。
    • 嗯,是的,它适用于 Firefox,但不适用于我的项目代码。仍在找出造成差异的原因。
    【解决方案2】:

    我在这里发布了一个答案,与您想要的有关,请查看:how-to-select-particular-text-in-textbox

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      • 2019-07-06
      • 1970-01-01
      • 1970-01-01
      • 2019-04-27
      • 1970-01-01
      相关资源
      最近更新 更多