2013-04-05 2 views
0

나는 이것이 도움을 구하지 않고도 할 수있을 것이라고 생각했지만, 그렇게 생각하지는 않습니다. autofocus = "true"태그 추가는 페이지가 처음로드 될 때 작동하지만 아무나 클릭하거나 링크를 열면 텍스트 필드가 포커스를 잃습니다. 필드가 포커스를 유지하도록하려면 어떻게해야합니까?텍스트 필드에 포커스 유지하기

+3

왜 그렇게하고 싶습니까? –

+2

@MattBall이 성가시다. – Rohrbs

+0

@mat - 때로는 * 클라이언트 *가 바보 같은 바보 같은 것들을 요구할 때 ... 프로그래머를 비난 할 수는 없다. :) – Lix

답변

1

클릭시 입력 상자에 포커스가있는 문서에 클릭 이벤트 리스너를 첨부합니다. 당신이 시도 할 수 있습니다 무엇

$(document).on("click", function() 
{ 
    $("yourInputIdHERE").focus(); 
} 
1
$("#textbox").focus().on('blur', function() { 
    $(this).focus();    
}); 
+1

이것은 지금까지 가장 좋은 대답이다. 너 (OP)는 "onblur"이벤트를 바인딩 할 때마다 포커스를 잃을 때마다 바인딩하려고합니다. 그것은 그것을 되 찾는다. 서로 다른 대답은 덜 바람직합니다. – sircapsalot

+0

didnt work http://jsfiddle.net/BTmmb/ – computerquotes

+0

한 번 더 시도하십시오. http://jsfiddle.net/BTmmb/3/ –

0

blur 이벤트에 이벤트 핸들러를 첨부합니다. 캡처 한 후에는 포커스를 잃은 동일한 요소에서 포커스 이벤트를 트리거 할 수 있습니다.

$("input").on('blur',function(){ 
    $(this).focus(); 
}); 

일단 사용자가 원하는 값을 입력하면 텍스트 필드를 벗어날 수 있도록 몇 가지 유효성 검사 양식과 함께 사용할 수 있습니다.

이 동작을 활성화/비활성화하기 위해 어떤 형태의 플래그를 구현하지 않으면 사용자를 한 필드에 영원히 잠글 수 있습니다. 페이지의 다른 영역으로 이동하는 (쉬운) 방법은 없습니다.

Here is a small demo

,
는 텍스트 필드에 포커스가 일단 값이 입력 될 때까지, 그것을 유지할 것을 알 수 있습니다.

+0

시도해 보지 않았습니다. http://jsfiddle.net/BTmmb/ – computerquotes

+0

@com - 그 예는 없습니다. id 셀렉터에'# '를 넣는 것을 잊었고 jQuery를 포함하지 않았기 때문에 작업하지 못했습니다 :) [이 고정 버전을 확인하십시오] (http://jsfiddle.net/BTmmb/2/) – Lix

+0

로드 할 때 집중하지만 어디든지 클릭하면 잃어버린다 – computerquotes

1

일부 이벤트가 문서까지 전파되지 않는 모든 경우를 처리합니다. 또한 사용자가 탭을 전환하고 다시 돌아 오는 경우를 처리합니다.

$("#element").blur(function() 
{ 
    $("#element").focus(); 
}); 
$(document).bind('keydown mousedown mouseup click',function() 
{ 
    $("#element").focus(); 
}); 
2

왜 그런지 묻습니다. 우리는 문서의 모든 요소에 리스너를 추가이 경우

$(document).ready(function(){ 

    $(document).click(function() { $("<THE-ELEMENT>").focus() }); 
}); 

:의 코스 대답은 우리가 우리의 고객 :) 대답으로

에 의해 우리에게 미친 요구를 처리 할 필요가 개발자 같다 :)

관련 문제