diff --git a/src/ol/event/Events.js b/src/ol/event/Events.js index 3b21d51597..fe65d8b363 100644 --- a/src/ol/event/Events.js +++ b/src/ol/event/Events.js @@ -248,20 +248,23 @@ ol.event.Events.prototype.unregister = function(type, listener, opt_scope, * an 'object' property referencing this Events instance. * * @return {boolean} The last listener return. If a listener returns false, - * the chain of listeners will stop getting called. + * the chain of listeners will stop getting called. Returns undefined if + * called for an event type that has no listeners. */ ol.event.Events.prototype.triggerEvent = function(type, opt_evt) { - var returnValue, - listeners = goog.events.getListeners(this, type, true) + var returnValue; + if (this.listenerCount_[type] > 0) { + var listeners = goog.events.getListeners(this, type, true) .concat(goog.events.getListeners(this, type, false)); - if (arguments.length === 1) { - opt_evt = {'type': type}; - } - opt_evt['object'] = this.object_; - for (var i=0, ii=listeners.length; i