在ArcGIS Server开发中,遇到DIV已经被注册的情况,不能对原DIV内容进行更新。这里需要调用Dojo的destroyRecursive()方法,逐个销毁该Widget下的子元素及其后代元素。然后就可以在原DIV上注册新的小部件。
示例代码:
var stackedLegend = dijit.byId("legendDiv");if (stackedLegend) {stackedLegend.destroyRecursive(true);}var legendDijit = new esri.dijit.Legend({map: map,arrangement: esri.dijit.Legend.ALIGN_LEFT}, "legendDiv");legendDijit.startup();
后面经过测试直接使用Dojo的destroy()方法也是有效的。