在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()方法也是有效的。