diff options
| author | Igor Minar | 2011-08-24 18:36:35 -0700 |
|---|---|---|
| committer | Igor Minar | 2011-08-24 18:36:38 -0700 |
| commit | 452607fc64b2b0ba5ee9a8745746e652ae21b6db (patch) | |
| tree | 8615c861cd58d54ca8bb2d03d8994a46870f10bd | |
| parent | 19401280aed9d4767faddcf58fab91ec13c556a9 (diff) | |
| download | angular.js-452607fc64b2b0ba5ee9a8745746e652ae21b6db.tar.bz2 | |
fix(events): fixing IE specific issues
IE doesn't have Array#indexOf and [].splice.call doesn't work there
either.
| -rw-r--r-- | src/Scope.js | 7 | ||||
| -rw-r--r-- | test/ScopeSpec.js | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/Scope.js b/src/Scope.js index 12ac2833..badfc3f5 100644 --- a/src/Scope.js +++ b/src/Scope.js @@ -569,10 +569,11 @@ Scope.prototype = { * @param {function} listener Function to remove. */ $removeListener: function(name, listener) { - var namedListeners = this.$$listeners[name]; - var i; + var namedListeners = this.$$listeners[name], + i; + if (namedListeners) { - i = namedListeners.indexOf(listener); + i = indexOf(namedListeners, listener); namedListeners.splice(i, 1); } }, diff --git a/test/ScopeSpec.js b/test/ScopeSpec.js index b3bdf935..4f6293d0 100644 --- a/test/ScopeSpec.js +++ b/test/ScopeSpec.js @@ -596,7 +596,7 @@ describe('Scope', function() { scope.$broadcast('fooEvent', 'do', 're', 'me', 'fa'); expect(args.length).toBe(5); - expect([].splice.call(args, 1)).toEqual(['do', 're', 'me', 'fa']); + expect(sliceArgs(args, 1)).toEqual(['do', 're', 'me', 'fa']); }); }); }); |
