某些浏览器在元素焦点上自动选择文本

时间:2011-05-13 09:27:54

标签: jquery focus

我自动搜索文本输入,当用户键入字母时进行新搜索。现在我必须在每次搜索后关注这个元素,但我在除Firefox之外的所有浏览器中都选择了输入中的文本。如果用户键入另一个字母,则删除所选文本,这意味着用户必须取消选择文本才能用户输入另一个字母。当然用户会输入新的字母并认为该程序有问题。

是否可以取消选择焦点上的文字或阻止首选的选择?

3 个答案:

答案 0 :(得分:3)

在焦点上将文本框的值分配给自身将取消选择文本。

$('input').focus(function() { 
    var elem = $(this);
    elem.val(elem.val());
} );

Working Demo

答案 1 :(得分:0)

我不太确定,但我认为这可能是一个解决方案或只是使用属性onselect="return;"

$('#selector').select(function (e){
   e.preventDefault();
   return;
});

答案 2 :(得分:0)

我使用以下代码:

var searchInput = $('input.search');
var l = searchInput.val().length;
searchInput.attr('selectionStart', l);
searchInput.attr('selectionEnd', l);
searchInput.focus();