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

时间:2010-06-09 11:12:06

标签: javascript jquery html

我有一个输入文本框,里面有一些文字,onclick事件我想运行一个javascript函数来选择(突出显示)这个框中的所有文本,我怎么能用jquery做到这一点?

6 个答案:

答案 0 :(得分:15)

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

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

如果你必须使用jQuery,那么差别很小:

$(input).focus(function() { this.select(); });

答案 1 :(得分:14)

您可以查看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 :(得分:5)

你可以这样做:

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

当然,你不能点击元素来选择输入中的任意一个点,所以最好在focus而不是click

上触发该事件

Quick Demo w/ clickw/ focus

答案 3 :(得分:2)

这对我来说效果最好。

$('myTextbox').select();

答案 4 :(得分:1)

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

 onclick="this.select();"

例如:

<input type="text" value="abc" onclick="this.select();"/>

答案 5 :(得分:1)

我通常这样做的地方是

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

我要填写的第一个文本框。 这样,如果我保持状态;如果用户回溯到该页面,则会自动将其全部突出显示以进行切换。

搜索框之类的有用技巧......