왜 다음 코드가 filteringselect에 포커스를 맞추지 않습니다?페이지에서 포커스 필터링 선택
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://yandex.st/dojo/1.6.0/dojo/dojo.xd.js" djConfig="parseOnLoad: true"></script>
<style type="text/css">
@import "http://yandex.st/dojo/1.6.0/dijit/themes/claro/claro.css";
</style>
<script type="text/javascript">
<!--
dojo.require("dijit.form.FilteringSelect");
dojo.addOnLoad(function(){
dijit.byId('dept').focus();
});
-->
</script>
</head>
<body class="claro">
<select name="dept" id="dept" dojoType="dijit.form.FilteringSelect" >
<option value=""></option>
<option value="test">test</option>
<option value="test1">test1</option>
</select>
</body>
</html>
ie7과 firefox 3/4로 시도해 보았습니다. 작동합니다.
하지만
:-(IE8에 실패이는 도장 버그있을 수 있습니다 - 아니면 내가 뭔가 잘못하고 오전 DOM이 준비, 또는 그 이후에
는 dojo.addOnLoad() 화재는 모든 위젯이 제대로되었습니다 않습니다 후에 때? ? initalized
관련
게르하르트
흥미롭게도, 이것을 시도 할 때 타임 아웃이 작동 할 때 0을 설정하는 것처럼 보입니다. 이는 준비된 프로세스가 완료 될 때까지이 코드 행을 단순히 지연시키는 것만으로 충분하다고 제안합니다. 이것이 왜 필요한지 잘 모르겠다. (그리고 IE 8에서만 볼 수있다.) Gerhard의 질문에 대답하기 위해 addOnLoad/ready 콜백은 (1) DOM이 준비된 후에 (또는 DOMContentLoaded를 지원하지 않는 IE에서 window.onload), (2) 모든 dojo.require'd 모듈을 그 포인트가로드되고 (3)'parseOnLoad'가 참이면 파서가 실행되고 위젯이 시작됩니다. –
더 많은 연구가 어제 같은 결론에 도달했습니다. 나는 simmilar 버그를 찾기 위해 dojo-trac를 검색하거나 새로운 것을 작성한다. –