diff options
Diffstat (limited to 'xstatic/pkg/angular/data/angular-touch.js')
-rw-r--r-- | xstatic/pkg/angular/data/angular-touch.js | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/xstatic/pkg/angular/data/angular-touch.js b/xstatic/pkg/angular/data/angular-touch.js index d53a732..d9a43cc 100644 --- a/xstatic/pkg/angular/data/angular-touch.js +++ b/xstatic/pkg/angular/data/angular-touch.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.3.7 + * @license AngularJS v1.3.18 * (c) 2010-2014 Google, Inc. http://angularjs.org * License: MIT */ @@ -27,6 +27,10 @@ /* global -ngTouch */ var ngTouch = angular.module('ngTouch', []); +function nodeName_(element) { + return angular.lowercase(element.nodeName || (element[0] && element[0].nodeName)); +} + /* global ngTouch: false */ /** @@ -67,11 +71,9 @@ ngTouch.factory('$swipe', [function() { }; function getCoordinates(event) { - var touches = event.touches && event.touches.length ? event.touches : [event]; - var e = (event.changedTouches && event.changedTouches[0]) || - (event.originalEvent && event.originalEvent.changedTouches && - event.originalEvent.changedTouches[0]) || - touches[0].originalEvent || touches[0]; + var originalEvent = event.originalEvent || event; + var touches = originalEvent.touches && originalEvent.touches.length ? originalEvent.touches : [originalEvent]; + var e = (originalEvent.changedTouches && originalEvent.changedTouches[0]) || touches[0]; return { x: e.clientX, @@ -193,7 +195,9 @@ ngTouch.factory('$swipe', [function() { }; }]); -/* global ngTouch: false */ +/* global ngTouch: false, + nodeName_: false +*/ /** * @ngdoc directive @@ -335,7 +339,7 @@ ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement', lastLabelClickCoordinates = null; } // remember label click coordinates to prevent click busting of trigger click event on input - if (event.target.tagName.toLowerCase() === 'label') { + if (nodeName_(event.target) === 'label') { lastLabelClickCoordinates = [x, y]; } @@ -351,7 +355,7 @@ ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement', event.preventDefault(); // Blur focused form elements - event.target && event.target.blur(); + event.target && event.target.blur && event.target.blur(); } @@ -414,8 +418,10 @@ ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement', startTime = Date.now(); - var touches = event.touches && event.touches.length ? event.touches : [event]; - var e = touches[0].originalEvent || touches[0]; + // Use jQuery originalEvent + var originalEvent = event.originalEvent || event; + var touches = originalEvent.touches && originalEvent.touches.length ? originalEvent.touches : [originalEvent]; + var e = touches[0]; touchStartX = e.clientX; touchStartY = e.clientY; }); @@ -431,9 +437,12 @@ ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement', element.on('touchend', function(event) { var diff = Date.now() - startTime; - var touches = (event.changedTouches && event.changedTouches.length) ? event.changedTouches : - ((event.touches && event.touches.length) ? event.touches : [event]); - var e = touches[0].originalEvent || touches[0]; + // Use jQuery originalEvent + var originalEvent = event.originalEvent || event; + var touches = (originalEvent.changedTouches && originalEvent.changedTouches.length) ? + originalEvent.changedTouches : + ((originalEvent.touches && originalEvent.touches.length) ? originalEvent.touches : [originalEvent]); + var e = touches[0]; var x = e.clientX; var y = e.clientY; var dist = Math.sqrt(Math.pow(x - touchStartX, 2) + Math.pow(y - touchStartY, 2)); |