2012-03-10 3 views
4

ondomready가 열리거나 열리면 내 크롬 확장 팝업의 텍스트 영역에 focus()를 호출 할 수없는 것 같습니다.)크롬 확장 팝업 텍스트 영역 포커스

<html> 
    <head> 

    <link rel="stylesheet" href="css/content.css" type="text/css"> 

    <script type="text/javascript" src="js/lib/jquery.js"></script> 
    <script type="text/javascript" src="js/popup.js"></script> 
    </head> 
<body> 
     <div class="container"> 
      <textarea name="newText"></textarea> 
     </div>  
</body> 

CSS의 변화 작품, 포커스 (하지 않습니다 내가 그렇게 popup.html에서 참조

$(document).ready(function() { 
    console.log($("#moped-text")); 
    $('textarea').focus(); 
    $('.container').css("color", "red"); 
}); 

:

내가 popup.js에서 그런 일이 !

팝업을 디버깅하고 $ ('textarea')를 입력하면. focus(); 콘솔에서 작동합니다. 준비 콜백 내부에 추가 된 이벤트도 성공적으로 바인딩됩니다.

도움이 되었습니까?

+0

나를 위해도 작업이 밤은 : [자동 초점 Google 크롬 확장 프로그램에서 (HTTP를 : // 유래 .com/questions/6594064/auto-focus-in-google-chrome-extension) – hc2p

답변

3

초점이 처음에 설정되지 않은 이유는 아직 모르지만, 간단한 제한 시간 작업 : 크롬 18

setTimeout(function() { 
    $('#moped-text').focus(); 
}, 500); 
+3

이 항상 나를 위해 일한 있지만 크롬 18 (그냥 안정된 채널 만든)이 작동하지 않습니다. 비록 내가 시간 제한을 설정하는 경우 1000 ms까지 아무 일도 일어나지 않습니다. 같은 일을 경험 했습니까? 그렇다면 현재 상황에 대한 해결책/해결 방법을 알고 계신지요? – pimvdb

+1

Chrome 20와 동일합니다. – Soviut

0

ID가 아닌 클래스 "컨테이너"인 div가 있습니다. 따라서 대신 다음을 사용하십시오.

$('.container').css("color", "red"); 
+0

감사합니다. hamczu! 나는 그에 따라 나의 질문을 변경했다. CSS는 문제가 아니며 초점()입니다. – hc2p

-1

<textarea name="newText" autofocus></textarea>을 사용하면됩니다.

+1

이것도 작동하지 않습니다. 크롬 확장에서 차단 된 것 같습니다. :(또는 나중에 다른 초점을 얻고있다 – hc2p

3

해결 방법을 수행합니다 (발견 here)

if(location.search !== "?foo") 
{ 
    location.search = "?foo"; 
    throw new Error; // load everything on the next page; 
        // stop execution on this page 
} 

저에게 맞습니다!

+0

와우, 마술. 고마워요! –

+0

정말 혼란 스럽지만 ... 작동합니다. – fehrlich

0

저는 이것을 집중적으로 사용합니다.

내 요소의 속성에 "자동 초점"이 있습니다. 양식이로드되면 "autofocus"속성을 가진 요소가 포커스를 얻습니다.

.directive ('자동 초점 기능'[ '$ 타임 아웃'기능 ($ 시간 초과) { 창 { 가 제한 'A', 링크 : 함수 ($ 범위, $ 요소) { $ 타임 아웃 (함수() { $ 요소 [0] .focus(); }); } } }])

관련 문제