2012-06-21 3 views
3

jquery와 부트 스트랩을 사용하는 웹 페이지의 텍스트 영역에 초점을 맞추는 데 문제가 있습니다. 그것은 사소한 일이어야하지만 그것이 그것이 가정 된 방식대로 작동하지 않는 이유를 알지 못합니다. 기본적으로jquery로 부트 스트랩 텍스트 영역에 집중

$('#textarea').focus(); 

는 부트 스트랩은 초점 영역 (http://twitter.github.com/bootstrap/base-css.html?#forms 참조) 파란 빛을 제공합니다. 불행히도, 위의 라인은 일을하지 않는 것 같습니다.

즉, 편집기 (텍스트 영역)가있는 사이드 창을 표시하는 버튼이 있습니다. 내 목표는 자동으로 창을 표시 한 후 텍스트 영역에 포커스를 보내는 것입니다.

+0

'.focus()'가 초점을 맞추지 못하거나 초점을 맞추고 파란 광선이 나타나지 않는 문제가 있습니까? 광선은 단순히': focus' 선택자를 기반으로 한 CSS입니다. 그래서 여러분이 요소를 성공적으로 집중 시키면 빛이 그 광선과 함께 있어야합니다 ... –

+1

미안하지만, 재현 할 수는 없습니다. 이것은 @KP가 쓴 것처럼, 부트 스트랩을 가지고 의도 한대로 작동합니다. – hakre

+0

jsFiddle에 코드 (사이드 창을 표시하는 코드 포함)를 제공 할 수 있습니까 – baptme

답변

1

방금 ​​bootstrap page you referenced에서 $("#input01").focus();을 테스트했습니다. 파란색으로 바뀌는 id input01을 사용하여 입력을 집중 시켜도됩니다. 그래서 부트 스트랩에 의해 스타일이 정해져있는 입력 요소에 초점을 맞추고 있습니다. 사실 당신이 보는 푸른 빛은 부트 스트랩 스타일의 CSS :focus 선택기를 기반으로하므로 스타일이 잘 작동해야하는 요소를 올바르게 선택하면됩니다.

내 생각에 귀하의 focus() 호출이 잘못된 jQuery 선택기를 사용하고 있거나 사이드 패널의 표시와 같이 페이지에서 다른 작업과 동기화되지 않을 수도 있습니다. 선택하기 전에 #textarea 요소가 있는지 확인하십시오.

특정 코드를 게시하면보다 구체적인 답변을 제공 할 수 있습니다.

+2

신속한 응답을 해주셔서 감사합니다. 나는 내 자신의 문제를 해결할 수 있었다. 그것은 타이밍 문제로 밝혀졌습니다. 나는 페이드 인과의 대화를 보여주고 페이드가지나 가기를 기다리지 않고 집중했다. 내가 보여 주던 행사에 집중한다면, 모든 것이 원활하게 진행됩니다. –

+0

@AtanasAtanasov - 자신의 질문에 답변 한 경우, 답변으로 게시하고 첫 번째 답변자의 응답을 정답으로 받아들이고 설명을 추가해야합니다. 유용하다고 판단되면 +1이 적절할 것입니다. 그렇지 않으면 향후 사용자가 솔루션을 찾기 위해 의견을 파헤 쳐야합니다. – merv

+0

@merv 나는 원칙적으로 동의한다. 그러나 'focus()'에 대한 그의 호출이 DOM 조작과 일치하지 않는다는 것을 알았다면 이것이 해결책이 아니기 때문에 내 대답을 표시하는 것이었다. 장소. 그 개념만으로도 다른 사람들이 유사한 증상을 해결할 수 있도록 도와야합니다. –

관련 문제