Javascript Dojo:指示呈现小部件的事件

Javascript Dojo:指示呈现小部件的事件,javascript,dojo,widget,Javascript,Dojo,Widget,我在页面上有一个小部件和javascript代码: <script type="text/javascript"> dojo.ready(function() { dijit.byId("widgetId"); // oops, widget is not rendered yet, so this code can't find it. }) </script> 那么,我应该听哪个事件指示呈现了小部件呢?由于

我在页面上有一个小部件和javascript代码:

<script type="text/javascript">

    dojo.ready(function() {
        dijit.byId("widgetId");
            // oops, widget is not rendered yet, so this code can't find it.
    })

</script>

那么,我应该听哪个事件指示呈现了小部件呢?

由于您使用的框架似乎隐藏了大多数与dojo相关的配置,因此最简单的解决方案是在访问任何小部件之前调用dojo.parser.parse。这将确保创建并启动所有小部件

<script type="text/javascript">
    dojo.ready(function() {
        dojo.parser.parse();
        dijit.byId("widgetId");
    })
</script>

首先,添加缺少的引号。您的dojoConfig中是否有parseOnLoad:true?或者您的小部件是以编程方式插入的?我通过受Zend Dojo helper启发的php库插入此小部件。它只是将这些小部件打印为html。而且我没有dojoConfig。至少我不知道。应该在哪里?看这页:应该是真的。parseOnLoad属性告诉dojo库查找通过数据dojo类型或dojoType属性在html中声明的dijit小部件,这导致了以下错误:尝试注册id==dijit\u layout\u BorderContainer\u 0的小部件,但该id已注册。我试图手动为边界容器设置不同的ID,但错误再次出现。