代码之家  ›  专栏  ›  技术社区  ›  Spyros

使用jquery突出显示(选择)文本框中的所有文本

  •  9
  • Spyros  · 技术社区  · 15 年前

    我有一个输入文本框,其中包含一些文本,onclick事件我想运行一个javascript函数来选择(突出显示)该框中的所有文本,如何使用jquery来实现这一点?

    6 回复  |  直到 10 年前
        1
  •  14
  •   BiscuitBaker Stephan Muller    10 年前

    你可以看看 this article :

    假设我们有以下文本输入:

    <input type="text" id="txtInput" />
    

    在大多数情况下,我们希望所有人都能使用此功能 我们网站上的文本框,因此我们将创建一个函数来处理 这个,并根据需要调用它。使用预期的 参数将使文本突出显示。

    function selectAllText(textbox) {
    textbox.focus();
    textbox.select(); }
    

    假设您正在针对dotnetnuke 5开发,或者jquery已经导入到您的网站中,请为每个文本框向您的网站添加以下jquery。(如果你有很多的文本框,我们可以做不同的事情,但这是为了一个不同的帖子。)

    jQuery('#txtInput').click(function() { selectAllText(jQuery(this)) });
    
        2
  •  15
  •   Tim Down    15 年前

    不需要jquery,这对于DOM很简单,适用于所有主流浏览器:

    input.onfocus = function() { this.select(); };
    

    如果您必须使用jquery,那么差别很小:

    $(input).focus(function() { this.select(); });
    
        3
  •  5
  •   gnarf    15 年前

    您可以这样做:

    $('input').click(function() {
     // the select() function on the DOM element will do what you want
     this.select();
    });
    

    当然,您不能单击元素来选择输入中的任意点,因此最好启动该事件 focus 而不是 click

    Quick Demo w/ click w/ focus

        4
  •  2
  •   Sunny Sharma    11 年前

    这对我最有效。

    $('myTextbox').select();
    
        5
  •  1
  •   Travis Reeder    12 年前

    我知道这不是jquery,但是为了完整地回答这个问题,您可以在文本输入本身上使用它:

     onclick="this.select();"
    

    例如:

    <input type="text" value="abc" onclick="this.select();"/>
    
        6
  •  1
  •   Mac    11 年前

    我通常这样做的地方是

    $(document).ready(function () {
        $('#myTextBox').focus();
        $('#myTextBox').select();
    }
    

    我要填写的第一个文本框。 这样,如果我在保存状态,并且用户回溯到页面,那么它会自动突出显示所有内容以供打印。

    对搜索框之类的东西有用的技术…