diff --git a/src/selection/Selection.js b/src/selection/Selection.js index aa57289c32..0b9857a1bf 100644 --- a/src/selection/Selection.js +++ b/src/selection/Selection.js @@ -70,11 +70,8 @@ define( if (multiSelect) { this.handleMultiSelect(selectable); } else { - this.setSelectionStyles(selectable); - this.selected = [selectable]; + this.handleSingleSelect(selectable); } - - this.emit('change', this.selected); }; /** @@ -87,6 +84,20 @@ define( this.addSelectionAttributes(selectable); this.selected.push(selectable); } + + this.emit('change', this.selected); + }; + + /** + * @private + */ + Selection.prototype.handleSingleSelect = function (selectable) { + if (!_.isEqual([selectable], this.selected)) { + this.setSelectionStyles(selectable); + this.selected = [selectable]; + + this.emit('change', this.selected); + } }; /**