Specifies whether and how a given region can be manipulated by the user (for instance, by panning or zooming).
This property is read/write.
HRESULT put_touchAction( [in] DOMString val ); HRESULT get_touchAction( [out] DOMString **ptr );
auto | none | [ [ [ pan-x || pan-y || pinch-zoom ? ] | manipulation ] || double-tap-zoom ? ]
|Applies To||All elements|
- Pointer Events, Section 9.1
This property requires Windows 8 or later.
When a user touches an element, that element's IHTMLCSSStyleDeclaration2::touchAction property determines the default touch behaviors permitted for that contact, like panning or zooming.
The touch behavior is then performed on the nearest ancestor element that is capable of that behavior, unless an intermediate ancestor element specifies that the behavior is not permitted.
If a default touch behavior is not invoked, Document Object Model (DOM) events will be fired for that contact instead (see Gesture Events).
This property has no effect on mouse, keyboard, or touchpad interaction.
You might find the following example within a fingerpainting application to ensure that its canvas doesn't move when a user touches and manipulates it. When a user touches this canvas and moves his or her finger, no manipulation will occur. DOM events will be sent instead.
The following example builds a list that pans in the x-direction but allows dragging or rearranging if the user pulls an item in the y-direction (similar to the Windows 8 Start screen) When the user touches a listEntry and moves his or her finger in the x-direction, the list will pan. If the user instead moves his or her finger in the y-direction, no pan will occur. DOM events will be sent instead.
Starting with Windows 8.1, you can explicitly specify an element to have cross-slide behavior along a given axis using the cross-slide-x or cross-slide-y value. The following table lists various cross-slide touch-action value combinations and their behaviors.
|CSS Rule||Resulting behavior|
|touch-action: cross-slide-x pan-y;||The element cross-slides in the horizontal direction and pans vertically.|
|touch-action: cross-slide-x;||The element cross-slides in the horizontal direction and fires pointer events for touch interactions along the vertical axis.|
||Two mutually exclusive behaviors are specified for the same axis; the rule is ignored.|