This topic provides a summary of how the Ignite UI for jQuery™ suite supports touch-enabled environments, suggests best practices, and lists the touch-support specifics of the individual Ignite UI for jQuery controls.
This topic contains the following sections:
All Ignite UI for jQuery controls support touch interaction. This support is possible by adding new features and components in order to support touch-compatible behaviors.
Rendered in a touch-enabled environment, each Ignite UI for jQuery control will look and behave the same way under Desktop and Touch platforms. For example, the igGrid™ widget is not an entirely new control for the touch device, but includes touch-optimized features which are available under a touch-enabled environment. This adaptability allows you (with little configuration) to have multi-platform control in your applications. For details surrounding individual controls, refer to the Control overview section.
Note: It’s recommended to use the Modernizr JavaScript library together with Ignite UI for jQuery for jQuery controls. The controls work well without Modernizr, but when the library is available on the page, the controls adapt to a more touch-friendly mode.
All Ignite UI for jQuery controls support scrolling by default when running under a touch-enabled environment. The scrolling behavior is controlled by an internal component called igScroll
™.
For the scrolling behavior to be operational under touch, the igScroll
script must be referenced on the page. This is done automatically when using the Infragistics® Loader. However, if you do not use the Loader, you need to either reference it manually or to reference the infragistics.core.js file which contains igScroll
.
To reference igScroll
manually:
In HTML:
<script type="text/javascript" src="js/modules/infragistics.ui.scroll.js"></script>
You can use the igScroll
component to make other HTML elements scrollable, like the <div>
, for example:
In HTML:
<div data-scroll=”true”></div>
This way, the igScroll
component makes the container scrollable under touch-enabled browsers.
Ignite UI for jQuery controls are optimized for touch as well as standard desktop web browser use. In addition to using the stock controls you will want to make sure to follow a few best practices in order to get the best performance and response from each control:
Use Modernizr
Use the Modernizr JavaScript library together with Ignite UI for jQuery controls in order to ensure the controls render in the most touch-optimized mode possible.
Define the viewport meta tag
Explicitly setting the view port dimensions of your page will ensure your page is rendered under right dimensions and proportions. The following code listing demonstrates how to configure your pages view port meta tag:
In HTML:
<meta name="viewport"
content="width=device-width,
initial-scale=1,
maximum-scale=2.5,
minimum-scale=0.1,
user-scalable=yes" />
The following table summarizes the controls have specifics in their support of touch-enabled environments. Additional details are available for each updated control after the table.
Control | Description |
---|---|
igGrid | Some of the features include properties that allow touch-optimized interaction. |
igHierarchicalGrid |
The igHierarchicalGrid ™ internally uses the igGrid widget; therefore, all touch-optimized features of igGrid are also available in the igHierarchicalGrid widget.
|
igPopover | The control is fully functional in touch environment. The only limitation is that you cannot configure the activation event: on touch devices the popover always shows on tap no matter what event has been set as activating. |
igVideoPlayer |
When Modernizr library is available, igVideoPlayer ™ falls back to the default browser video player.
|
The following list summarizes the igGrid
features that have properties to support touch capabilities or needs special modification to run properly in touch-enabled environments.
Feature | Content |
---|---|
Feature Chooser |
Related topicsRelated samples |
Hiding |
Related topicsRelated samples |
GroupBy |
Related topicsRelated samples |
Multiple Selection |
Related topicsRelated samples |
Multiple Sorting |
Related topicsRelated samples |
Row Selectors |
Related topicsRelated samples |
Tooltips |
Related topicsRelated samples |
To make an igHierarchicalGrid
feature touch-compatible, you configure its settings in the same way as with the igGrid
control.
The following list summarizes the igHierarchicalGrid
features that have properties to support touch-capabilities or require special modification to run properly in touch-enabled environments.
igHierarchicalGrid
you will need to enable the Selection feature in the parent grid, because the selection feature is not inherited.)Note: Since the
igHierarchicalGrid
internally uses theigGrid
, the topics relating to these features areigGrid
topics. The only exception isigGrid
Group By feature for theigHierarchicalGrid
, where the modal dialog differs between the two grids.
Feature | Content |
---|---|
Feature Chooser |
Related topicsRelated samples |
Hiding |
Related topicsRelated samples |
GroupBy |
Related topicsRelated samples |
Multiple Selection |
Related topics |
Multiple Sorting |
Related topics |
Row Selectors |
Related topicsRelated samples |
Tooltips |
Related topicsRelated samples |
igPopover
is supported on touch devices by default. In touch environment however, you cannot control the activating event: the control always shows on the tap user action, no matter what event has been set as activating (i.e. the setting of the showOn option is ignored).
When running the igVideoPlayer
control on a mobile device with the Modernizr library is available on the page, the browser’s default video player rendered to the user. If the Modernizr library is not available, then the actual igVideoPlayer
control is rendered to the user (in some cases the igVideoPlayer
control may have fewer touch capabilities than the default device controls).
View on GitHub