[Mobile] Detect touch support

This commit is contained in:
Victor Woeltjen 2015-12-29 12:43:46 -08:00
parent 91b42fc0cc
commit 2df61998ab
4 changed files with 14 additions and 0 deletions

View File

@ -46,6 +46,7 @@ define(
this.userAgent = userAgent; this.userAgent = userAgent;
this.mobileName = matches[0]; this.mobileName = matches[0];
this.$window = $window; this.$window = $window;
this.touchEnabled = ($window.ontouchstart !== undefined);
} }
/** /**
@ -92,6 +93,14 @@ define(
return !this.isPortrait(); return !this.isPortrait();
}; };
/**
* Check if the user's device supports a touch interface.
* @returns {boolean} true if touch is supported
*/
AgentService.prototype.isTouch = function () {
return this.touchEnabled;
};
/** /**
* Check if the user agent matches a certain named device, * Check if the user agent matches a certain named device,
* as indicated by checking for a case-insensitive substring * as indicated by checking for a case-insensitive substring

View File

@ -37,6 +37,7 @@ define(
* * `desktop`: Non-mobile devices. * * `desktop`: Non-mobile devices.
* * `portrait`: Devices in a portrait-style orientation. * * `portrait`: Devices in a portrait-style orientation.
* * `landscape`: Devices in a landscape-style orientation. * * `landscape`: Devices in a landscape-style orientation.
* * `touch`: Device supports touch events.
* *
* @param {platform/commonUI/mobile.AgentService} agentService * @param {platform/commonUI/mobile.AgentService} agentService
* the service used to examine the user agent * the service used to examine the user agent

View File

@ -52,6 +52,9 @@ define(function () {
}, },
landscape: function (agentService) { landscape: function (agentService) {
return agentService.isLandscape(); return agentService.isLandscape();
},
touch: function (agentService) {
return agentService.isTouch();
} }
}; };
}); });

View File

@ -47,6 +47,7 @@ define(
* * `desktop`: Non-mobile devices. * * `desktop`: Non-mobile devices.
* * `portrait`: Devices in a portrait-style orientation. * * `portrait`: Devices in a portrait-style orientation.
* * `landscape`: Devices in a landscape-style orientation. * * `landscape`: Devices in a landscape-style orientation.
* * `touch`: Device supports touch events.
* *
* @param {AgentService} agentService used to detect device type * @param {AgentService} agentService used to detect device type
* based on information about the user agent * based on information about the user agent