From 9fd92cc3c93a6378e8887fd46fd4ad182a375544 Mon Sep 17 00:00:00 2001 From: Steven Sojka Date: Wed, 4 Sep 2013 11:20:33 -0500 Subject: fix(ngTouch): ngClick does not pass touchend event when jQuery is loaded The trigger handler event in jqLite takes an event object as a second parameter, but jQuery requires an array of parameters. This is causing the touchend event to not come thtough in the click handler when jQuery is loaded. --- src/ngTouch/directive/ngClick.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/ngTouch/directive/ngClick.js') diff --git a/src/ngTouch/directive/ngClick.js b/src/ngTouch/directive/ngClick.js index d6e404ca..7dcc4041 100644 --- a/src/ngTouch/directive/ngClick.js +++ b/src/ngTouch/directive/ngClick.js @@ -238,7 +238,7 @@ ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement', } if (!angular.isDefined(attr.disabled) || attr.disabled === false) { - element.triggerHandler('click', event); + element.triggerHandler('click', [event]); } } @@ -255,9 +255,9 @@ ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement', // - On mobile browsers, the simulated "fast" click will call this. // - But the browser's follow-up slow click will be "busted" before it reaches this handler. // Therefore it's safe to use this directive on both mobile and desktop. - element.on('click', function(event) { + element.on('click', function(event, touchend) { scope.$apply(function() { - clickHandler(scope, {$event: event}); + clickHandler(scope, {$event: (touchend || event)}); }); }); -- cgit v1.2.3