为什么下面的代码不会关注过滤选择?焦点过滤选择页面加载
<!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中失败:-(
可能这是一个错误道场 - 还是我做错了什么
不dojo.addOnLoad()火灾后的DOM准备好,或者毕竟小部件已经被适当的时候? ?initalized
问候
格哈德
有趣的是,当我尝试这个时,它甚至设置为0,因为超时工作 - 这表明简单地推迟这行代码,直到准备过程完成就足够了。不知道为什么这是必要的(似乎只在IE 8专门);为了回答Gerhard的问题,addOnLoad/ready回调函数在(1)DOM准备就绪(或者不支持'DOMContentLoaded'的IE中的'window.onload')之后执行,(2)所有的'dojo.require'd模块(3)如果'parseOnLoad'为真,解析器已经运行并且小部件被启动。 – 2011-04-13 02:50:22
昨天的进一步研究使我得出了同样的结论。我会搜索dojo-trac来查找类似的bug,或者申请一个新的! – 2011-04-13 06:53:16