最近在研究function()中参数到底指的是什么东西?一般我们遇到function(evt),这里到底这个参数指的是什么东西
下面我们看一段代代码:
var dynamicMapServiceLayer = new esri.layers.ArcGISDynamicMapServiceLayer("http://localhost:6080/arcgis/rest/services/china/MapServer"); map.addLayer(dynamicMapServiceLayer,1); var chartLayer = new GraphicsLayer({"id":"chartLayer"}); map.addLayer(chartLayer,2); mapCenter = new Point(103.847, 36.0473, map.spatialReference); map.centerAndZoom(mapCenter,4); dojo.connect(dynamicMapServiceLayer,"onLoad",loadLayerList); function loadLayerList(layers){ var html="" var infos=layers.layerInfos; for(var i= 0,length=infos.length;i<length;i++){ var info = infos[i]; //图层默认显示的话就把图层id添加到visible if(info.defaultVisibility) { visible.push(info.id); } //输出图层列表的html html=html+"<div><input id='"+info.id+"' name='layerList' class='listCss' type='checkbox' value='checkbox' onclick='setLayerVisibility()' "+(info.defaultVisibility ? "checked":"")+" />"+info.name+"</div>"; } //设置可视图层 dynamicMapServiceLayer.setVisibleLayers(visible); //在右边显示图层名列表 dojo.byId("toc").innerHTML=html; }
这里的函数function loadLayerList(layers)中的layers参数指的是dynamicMapServiceLayer对象,这里layer.target也是指的是dynamicMapServiceLayer对象,target的官方给出的定义是获取激发该事件的对象,这里触发的是dynamicMapServiceLayer对象的onLoad事件。