【问题标题】:Select text in input field在输入字段中选择文本
【发布时间】:2016-06-06 00:47:10
【问题描述】:

我在这里绕圈子。以为我可以解决这个问题,之前问了一个问题,但又被卡住了。有一个包含多个面板的简单表单,其中包含文本和数字输入字段。当用户单击选项卡或输入字段文本的任何内容时,应选择该文本。我已经开始查看THIS 文章,还查看了 jquery 焦点和选择。似乎没有任何工作。在输入字段中单击时,似乎没有突出显示已经存在的文本。

谢谢

这是我尝试过的一些事情:

$("input[type=text]").focus(function() {
    $(this).select();
});

$('#itemPanel :input[type="text"]').each(function() {
  $(this).click(function() {
    console.log("I was clicked in");
  });
});

【问题讨论】:

标签: javascript jquery


【解决方案1】:

on focus怎么样

$('input[type=text]').on('focus', function() {
   $(this).select();
});

你也可以使用mouseup

$('input[type=text]').on('mouseup', function() {
   $(this).select();
});

Fiddle

【讨论】:

    【解决方案2】:

    要自动选择输入框中的文本,我建议在您的示例中使用 clickevent 而不是 focus 事件。

    这似乎也写在您发布的代码示例链接中。 http://www.electrictoolbox.com/jquery-select-function/(注意它是如何使用click 而不是focus

    试试这个:

    $("input[type=text]").click(function() {
        $(this).select();
    });
    

    --编辑

    根据 cmets 中的一些反馈,有一个指向另一个类似问题的链接,该问题建议如下:

    $('input[type=text]').focus(function() {
      $('input[type=text]').select().one('mouseup', function(e) {
        e.preventDefault();
      });
    });
    

    【讨论】:

    • 显然,如果再次单击它会很难取消选择。这是一个解决这个问题的答案:stackoverflow.com/questions/3380458/…
    • 是的,我最初是从点击事件开始的,但那没有用。然后我把它放在一个 angular.element(document).ready() 函数中,但这也没有用
    • 也许像这里建议的那样可行? stackoverflow.com/a/3380493/280842
    猜你喜欢
    • 1970-01-01
    • 2015-05-27
    • 2011-05-06
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 2017-09-12
    • 2023-03-23
    • 2014-05-11
    相关资源
    最近更新 更多