I believe the layer tacks a .graphic property to any mouse events.require(['dojo/_base/connect'], function(dc) { var highlightGraphic = function(evt) { var graphic = evt.graphic, symbol = graphic.symbol; // make a copy of the symbol. graphic._previousSymbol = symbol.toJson(); // assuming the graphic has a SimpleLineSymbol... symbol.setColor(color).setWidth(highlightWidth); graphic.setSymbol(symbol); } var unHighlightGraphic = function(evt) { var graphic = evt.graphic; if (graphic._previousSymbol) { graphic.setSymbol(esri.symbol.fromJson(graphic._previousSymbol)) delete graphic._previousSymbol; } } dc.connect(reaches, 'onMouseOver', highlightGraphic); dc.connect(reaches, 'onMouseOut', unHighlightGraphic); }