使用Javascript .focus()突出显示文本

时间:2012-12-03 02:44:00

标签: javascript html css

我有一个这样的表格:

<form action='word.php' name = 'searchbox'>
<input type='text' name='word' id = 'searchbox' value = 'default'>
</form>

在我的身体里,我有:

<body onLoad="searchbox.word.focus()">

你可以在这里看到小提琴: http://jsfiddle.net/WEZ7S/

我想要实现的只是在“默认”结尾处有一个闪烁的光标,而是改为选择整个单词。

令人惊讶的是谷歌未能找到任何解决方案。我该怎么做?

3 个答案:

答案 0 :(得分:3)

您可以通过重置元素的.value属性来解决此问题:

searchbox.word.focus();
searchbox.word.value = searchbox.word.value;

还有更少的hacky解决方案:Use JavaScript to place cursor at end of text in text input element

演示:http://jsfiddle.net/WEZ7S/1/

答案 1 :(得分:1)

从之前回答的问题:https://stackoverflow.com/a/13371452/1238887

这是一个漂亮的小技巧:

$(document).ready(function() {
    var $field = $("#searchbox"),
        oldVal = $field.val();
    $field.focus().val('').val(oldVal);
});

DEMO:http://jsfiddle.net/X7Y8S/

答案 2 :(得分:0)

使用setSelectionRange(Chrm,FF):

var len = searchbox.word.length;

searchbox.word.focus();
searchbox.word.setSelectionRange(len, len);