2010-04-13 4 views
1

내가의 GridView (gridViewDropDown 클래스) 내에서 드롭 다운에 포커스를 설정하려고 할 때 페이지가로드 :JQuery와 드롭 다운 초점

if ($('select.gridViewDropDown').length) 
{ 
    alert("Found my dropdown"); 
     //$('select.gridViewDropDown:first').focus(); 
    setTimeout(function() { $('select.gridViewDropDown').focus(); }, 10); 
} 

내가 드롭 다운 찾을 것을 의미 경고를 볼 수 있지만 초점을 얻을 수 없다 . 여기서 무엇을 바꾸어야합니까? IE 6/7을 사용하고 있습니다.

나는이 방법을 시도 할 것
+0

귀하의 코드는 어디에 있습니까? 준비된 이벤트 핸들러 안에 있습니까? (b) 페이지 또는 별도의 스크립트에서? (c) 클라이언트 측의 ''이 발견되었음을 나타냅니다. 반드시 문제가되는 것은 아닙니다. 페이지가로드 될 때 어떤 요소에 포커스가 있습니까? 페이지로드시 해당 요소를 집중시키기 위해 페이지에 스크립트가 자동으로 삽입되는지 여부를 확인하려면 페이지 코드를 살펴볼 필요가 있습니까? –

답변

1

: 페이지가로드 (코드가 가장 가능성이 때 실행하는 것 그 때

당신은 DOM이 준비가 될 때까지 기다릴 필요가
$(function() { 
    setTimeout(function() { $('select.gridViewDropDown').focus(); }, 50); 
}); 

, 그것은 뭔가 다른이 초점을 훔치기 위해 설정되어 있는지 가능성을 DOM의 준비도 가능)이 접근법은 이후에 약간 번만 수행하여이 발생하도록합니다.

또한 jQuery의 작동 방식을 활용합니다.이 함수가 실행될 때 요소가 발견되지 않으면 아무 것도 포커스를 훔치지 않으므로 그대로있는 상태로 두는 것이 안전합니다.

+0

@ 닉, 감사합니다. 마스터 페이지 나 콘텐츠 페이지에서해야하나요, 중요하지 않나요? – Victor

+0

@VictorS - 중요하지 않습니다 ... 그것은 클라이언트에 한 페이지로 렌더링되며, 여러 페이지에 사용되는 경우 마스터에 배치됩니다. 그렇지 않으면 콘텐츠 페이지에 고정됩니다. –

+0

@ 닉 여전히 포커스를 얻지 못했습니다. 드롭 다운의 "Tab"키를 보낼 수 있습니까? – Victor

관련 문제