2011-05-13 4 views
0

자동으로 텍스트 입력을 검색하므로 사용자가 글자를 입력 할 때 새로운 검색이됩니다. 이제 모든 검색 후에이 요소에 집중해야하지만 Firefox를 제외한 모든 브라우저에서 입력 텍스트가 선택됩니다. 사용자가 다른 문자를 입력하면 선택한 텍스트가 지워 지므로 사용자가 다른 문자를 입력하기 전에 텍스트를 선택 해제해야 함을 의미합니다. 물론 사용자는 새 편지를 입력하고이 프로그램에 문제가 있다고 생각합니다.일부 브라우저에서는 요소 포커스에서 텍스트가 자동으로 선택됩니다.

포커스가있는 텍스트의 선택을 취소하거나 첫 번째 위치에서이 선택을 방지 할 수 있습니까?

답변

3

를 사용할 수 있습니다 생각합니다.

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

Working Demo

+0

그래, 이걸 사용 했어. – newbie

+0

고맙지만, IE에서는 문제가있다. 다시 초점을 맞추고 다시 집중하면, 입력 된 텍스트의 시작 부분에 테스트를 작성하기 시작한다. – newbie

+0

@newbie : 지금 무슨 뜻인지 알겠지만, IE9는 커서를 '입력'의 시작 부분으로 되돌립니다. 어떤 버전을 사용하고 있습니까? – Town

0

내가 너무 확실하지 않다 그러나 나는이 해결책이 될하거나 텍스트 선택을 취소합니다 초점 자체에 텍스트 상자의 값을 지정 속성 onselect="return;"

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

: [데모] (http://jsfiddle.net/Town/ r6Knr /). – Town

+0

사용중인 크롬 버전은 무엇입니까? – Val

+0

@town Im 같은 버전을 사용하고 있습니다. 제공된 demo는 나 자신을 위해 작동합니다. – Val

0

내가 다음 코드를 사용하여 작업을 가지고 : 크롬에서 작동하도록 나타나지 않습니다

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

Chrome에서는 작동하지 않습니다 : [Demo] (http://jsfiddle.net/Town/D6Vr7/) – Town

+0

That 's 이상한 점은 Chrome에서 테스트했기 때문에 코드를 사용해 보겠습니다. – newbie

+0

Chrome 11.0.696.65에서는 절대로 작동하지 않습니다. 내 솔루션을 사용하여 권하고 싶습니다 (편견이나 아무것도 아니에요!))'selectionStart'와'selectionEnd'는 일관된 크로스 브라우저가 아닙니다. – Town

관련 문제