diff --git a/js/utils/activator.js b/js/utils/activator.js index c478c5b1c9..47f42f1d1a 100644 --- a/js/utils/activator.js +++ b/js/utils/activator.js @@ -9,9 +9,11 @@ ionic.activator = { start: function(e) { + // when an element is touched/clicked, it climbs up a few // parents to see if it is an .item or .button element ionic.requestAnimationFrame(function(){ + if (tapRequiresNativeClick(e.target)) return; var ele = e.target; var eleToActivate; diff --git a/test/unit/angular/service/activator.unit.js b/test/unit/angular/service/activator.unit.js index cb59bc51e2..658f27518d 100644 --- a/test/unit/angular/service/activator.unit.js +++ b/test/unit/angular/service/activator.unit.js @@ -4,6 +4,13 @@ describe('Ionic Element Activator', function() { window.setTimeout = ionic.requestAnimationFrame = function(cb) { cb(); }; }); + it('should not active an if tapRequiresNativeClick is true', function() { + spyOn(window, 'tapRequiresNativeClick').andReturn(true); + var e = { target: document.createElement('a') }; + ionic.activator.start(e); + expect(e.target.classList.contains('activated')).toEqual(false); + }); + it('Should activate an ', function() { var e = { target: document.createElement('a') }; ionic.activator.start(e);