author | Matt Brubeck <mbrubeck@mozilla.com> |
Wed, 21 Sep 2011 11:30:32 -0700 | |
changeset 116 | 4153b586295c |
parent 105 | b9079103b070 |
child 119 | 0c5a27a88b04 |
permissions | -rw-r--r-- |
4 | 1 |
<!DOCTYPE html> |
74
b1920268c222
Add language and viewport metadata.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
73
diff
changeset
|
2 |
<html lang="en"> |
4 | 3 |
<head> |
102
bb417661c819
Touch events default branch is now version 2
Matt Brubeck <mbrubeck@mozilla.com>
parents:
100
diff
changeset
|
4 |
<title>Touch Events version 2</title> |
4 | 5 |
<meta http-equiv='Content-Type' content='text/html;charset=utf-8'/> |
74
b1920268c222
Add language and viewport metadata.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
73
diff
changeset
|
6 |
<meta name="viewport" content="width=device-width"> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
7 |
<!-- |
4 | 8 |
=== NOTA BENE === |
9 |
For the three scripts below, if your spec resides on dev.w3 you can check them |
|
10 |
out in the same tree and use relative links so that they'll work offline, |
|
11 |
--> |
|
12 |
<script src='http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js' class='remove'></script> |
|
13 |
<script class='remove'> |
|
14 |
var respecConfig = { |
|
15 |
// specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED. |
|
16 |
specStatus: "ED", |
|
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
17 |
|
4 | 18 |
// the specification's short name, as in http://www.w3.org/TR/short-name/ |
19 |
shortName: "touch-events", |
|
20 |
||
21 |
// if your specification has a subtitle that goes below the main |
|
22 |
// formal title, define it here |
|
23 |
// subtitle : "an excellent document", |
|
24 |
||
25 |
// if you wish the publication date to be other than today, set this |
|
116
4153b586295c
Extend the Document interface instead of creating a DocumentTouch interface
Matt Brubeck <mbrubeck@mozilla.com>
parents:
105
diff
changeset
|
26 |
publishDate: "2011-09-22", |
4 | 27 |
|
28 |
// if the specification's copyright date is a range of years, specify |
|
29 |
// the start date here: |
|
30 |
// copyrightStart: "2005" |
|
31 |
||
32 |
// if there is a previously published draft, uncomment this and set its YYYY-MM-DD date |
|
33 |
// and its maturity status |
|
34 |
// previousPublishDate: "1977-03-15", |
|
35 |
// previousMaturity: "WD", |
|
36 |
||
37 |
// if there a publicly available Editor's Draft, this is the link |
|
73
16faff414b81
Link to default branch rather than tip.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
72
diff
changeset
|
38 |
edDraftURI: "http://dvcs.w3.org/hg/webevents/raw-file/default/touchevents.html", |
4 | 39 |
|
40 |
// if this is a LCWD, uncomment and set the end of its review period |
|
41 |
// lcEnd: "2009-08-05", |
|
42 |
||
43 |
// if you want to have extra CSS, append them to this list |
|
44 |
// it is recommended that the respec.css stylesheet be kept |
|
8
3349d49e5f46
added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents:
7
diff
changeset
|
45 |
extraCSS: ["http://www.w3.org/StyleSheets/TR/W3C-TR.css", "http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css"], |
4 | 46 |
|
47 |
// editors, add as many as you like |
|
48 |
// only "name" is required |
|
49 |
editors: [ |
|
50 |
{ name: "Doug Schepers", url: "http://schepers.cc/", |
|
51 |
company: "W3C", companyURL: "http://w3.org/" }, |
|
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
52 |
{ name: "Sangwhan Moon", |
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
53 |
company: "Opera Software ASA", companyURL: "http://www.opera.com/" }, |
97
3f54db94ae0d
ISSUE-3: Click events should be dispatched after any touch events are processed.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
96
diff
changeset
|
54 |
{ name: "Matt Brubeck", url: "http://limpet.net/mbrubeck/", |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
55 |
company: "Mozilla", companyURL: "http://www.mozilla.org/" }, |
4 | 56 |
], |
57 |
||
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
58 |
// authors, add as many as you like. |
4 | 59 |
// This is optional, uncomment if you have authors as well as editors. |
60 |
// only "name" is required. Same format as editors. |
|
61 |
||
62 |
//authors: [ |
|
63 |
// { name: "Your Name", url: "http://example.org/", |
|
64 |
// company: "Your Company", companyURL: "http://example.com/" }, |
|
65 |
//], |
|
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
66 |
|
4 | 67 |
// name of the WG |
68 |
wg: "Web Events Working Group", |
|
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
69 |
|
4 | 70 |
// URI of the public WG page |
71 |
wgURI: "http://www.w3.org/2010/webevents/", |
|
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
72 |
|
4 | 73 |
// name (with the @w3c.org) of the public mailing to which comments are due |
74 |
wgPublicList: "public-webevents", |
|
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
75 |
|
4 | 76 |
// URI of the patent status for this WG, for Rec-track documents |
77 |
// !!!! IMPORTANT !!!! |
|
78 |
// This is important for Rec-track documents, do not copy a patent URI from a random |
|
79 |
// document unless you know what you're doing. If in doubt ask your friendly neighbourhood |
|
80 |
// Team Contact. |
|
81 |
wgPatentURI: "http://www.w3.org/2004/01/pp-impl/45559/status", |
|
82 |
}; |
|
83 |
</script> |
|
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
84 |
|
66
9555f231576e
Fix another validation error.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
61
diff
changeset
|
85 |
<style type="text/css"> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
86 |
.event { |
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
87 |
font-family: monospace; |
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
88 |
color: #459900; |
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
89 |
} |
23
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
90 |
|
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
91 |
pre.idl { |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
92 |
white-space: pre-wrap; |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
93 |
} |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
94 |
</style> |
4 | 95 |
</head> |
96 |
<body> |
|
97 |
<section id='abstract'> |
|
103 | 98 |
The Touch Events specification defines a set of low-level events that |
85 | 99 |
represent one or more points of contact with a touch-sensitive surface, |
100 |
and changes of those points with respect to the surface and any DOM |
|
101 |
elements displayed upon it (e.g. for touch screens) or associated with it |
|
102 |
(e.g. for drawing tablets without displays). It also addresses |
|
103 |
pen-tablet devices, such as drawing tablets, with consideration toward |
|
104 |
stylus capabilities. |
|
4 | 105 |
</section> |
5 | 106 |
|
81
e5b2d26a6892
Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents:
80
diff
changeset
|
107 |
<section id='introduction' class='informative'> |
e5b2d26a6892
Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents:
80
diff
changeset
|
108 |
<h2>Introduction</h2> |
e5b2d26a6892
Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents:
80
diff
changeset
|
109 |
|
85 | 110 |
<p> |
111 |
User Agents that run on terminals which provide touch input to use web |
|
87 | 112 |
applications typically use interpreted mouse events to allow users |
85 | 113 |
to access interactive web applications. However, these interpreted |
114 |
events, being normalized data based on the physical touch input, tend |
|
87 | 115 |
to have limitations on delivering the intended user experience. |
85 | 116 |
Additionally, it is not possible to handle concurrent input regardless |
87 | 117 |
of device capability, due to constraints of mouse events: both |
118 |
system level limitations and legacy compatibility. |
|
85 | 119 |
</p> |
81
e5b2d26a6892
Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents:
80
diff
changeset
|
120 |
|
85 | 121 |
<p> |
122 |
Meanwhile, native applications are capable of handling both cases with |
|
123 |
the provided system APIs. |
|
124 |
</p> |
|
125 |
||
126 |
<p> |
|
127 |
The Touch Events specification provides a solution to this problem by |
|
86 | 128 |
specifying interfaces to allow web applications to directly handle touch |
85 | 129 |
events, and multiple touch points for capable devices. |
130 |
</p> |
|
81
e5b2d26a6892
Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents:
80
diff
changeset
|
131 |
</section> |
e5b2d26a6892
Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents:
80
diff
changeset
|
132 |
|
28
4cbcb68446b5
First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents:
27
diff
changeset
|
133 |
<section id='conformance'> |
85 | 134 |
<p> |
135 |
This specification defines conformance criteria that apply to a single |
|
136 |
product: the <dfn id="dfn-user-agent">user agent</dfn> that implements |
|
137 |
the interfaces that it contains. |
|
138 |
</p> |
|
28
4cbcb68446b5
First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents:
27
diff
changeset
|
139 |
|
85 | 140 |
<p> |
141 |
Implementations that use ECMAScript to implement the APIs defined in |
|
142 |
this specification must implement them in a manner consistent with the |
|
143 |
ECMAScript Bindings defined in the Web IDL specification [[!WEBIDL]] as |
|
144 |
this specification uses that specification and terminology. |
|
145 |
</p> |
|
28
4cbcb68446b5
First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents:
27
diff
changeset
|
146 |
|
85 | 147 |
<p> |
148 |
A conforming implementation is required to implement all fields |
|
149 |
defined in this specification. |
|
150 |
</p> |
|
28
4cbcb68446b5
First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents:
27
diff
changeset
|
151 |
</section> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
152 |
|
4 | 153 |
<section> |
46
e761aa494278
ISSUE-11: Rename TouchPoint to Touch
Matt Brubeck <mbrubeck@mozilla.com>
parents:
45
diff
changeset
|
154 |
<h2><a>Touch</a> Interface</h2> |
85 | 155 |
<p> |
156 |
This interface defines an individual point of contact for a touch |
|
105
b9079103b070
Issue-16: Specify that Touch/TouchList/TouchEvent objects are immutable.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
103
diff
changeset
|
157 |
event. <a>Touch</a> objects are immutable; after one is created, its |
b9079103b070
Issue-16: Specify that Touch/TouchList/TouchEvent objects are immutable.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
103
diff
changeset
|
158 |
attributes must not change. |
85 | 159 |
</p> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
160 |
|
46
e761aa494278
ISSUE-11: Rename TouchPoint to Touch
Matt Brubeck <mbrubeck@mozilla.com>
parents:
45
diff
changeset
|
161 |
<dl title='interface Touch' class='idl'> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
162 |
<dt>readonly attribute long identifier</dt> |
5 | 163 |
<dd> |
91
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
164 |
An identification number for each <a>touch point</a>. |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
165 |
|
91
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
166 |
When a touch point becomes active, it must be assigned an |
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
167 |
<a>identifier</a> that is distinct from any other <a>active touch |
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
168 |
point</a>. While the touch point remains active, all events that |
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
169 |
refer to it must assign it the same <a>identifier</a>. |
5 | 170 |
</dd> |
4 | 171 |
|
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
172 |
<dt>readonly attribute long screenX</dt> |
5 | 173 |
<dd> |
174 |
x-coordinate of point relative to the screen |
|
175 |
</dd> |
|
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
176 |
<dt>readonly attribute long screenY</dt> |
5 | 177 |
<dd> |
178 |
y-coordinate of point relative to the screen |
|
179 |
</dd> |
|
4 | 180 |
|
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
181 |
<dt>readonly attribute long clientX</dt> |
5 | 182 |
<dd> |
85 | 183 |
x-coordinate of point relative to the viewport, excluding any scroll |
184 |
offset |
|
5 | 185 |
</dd> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
186 |
<dt>readonly attribute long clientY</dt> |
5 | 187 |
<dd> |
85 | 188 |
y-coordinate of point relative to the viewport, excluding any scroll |
189 |
offset |
|
5 | 190 |
</dd> |
191 |
||
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
192 |
<dt>readonly attribute long pageX</dt> |
5 | 193 |
<dd> |
85 | 194 |
x-coordinate of point relative to the viewport, including any scroll |
195 |
offset |
|
5 | 196 |
</dd> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
197 |
<dt>readonly attribute long pageY</dt> |
5 | 198 |
<dd> |
85 | 199 |
y-coordinate of point relative to the viewport, including any scroll |
200 |
offset |
|
5 | 201 |
</dd> |
202 |
||
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
203 |
<dt>readonly attribute long radiusX</dt> |
5 | 204 |
<dd> |
85 | 205 |
the radius of the ellipse which most closely circumscribes the |
206 |
touching area (e.g. finger, stylus) along the x-axis, in pixels of |
|
207 |
the same scale as <a>screenX</a>; <code>1</code> if no value is |
|
208 |
known. The value must be positive. |
|
209 |
<p class="issue" id="issue-units"><strong>Issue:</strong> What are |
|
210 |
units of radiusX/radiusY? CSS Pixels?</p> |
|
5 | 211 |
</dd> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
212 |
<dt>readonly attribute long radiusY</dt> |
5 | 213 |
<dd> |
85 | 214 |
the radius of the ellipse which most closely circumscribes the |
215 |
touching area (e.g. finger, stylus) along the y-axis, in pixels of |
|
216 |
the same scale as <a>screenY</a>; <code>1</code> if no value is |
|
217 |
known. The value must be positive. |
|
6
83ce29dff849
changed cx/cy to rx/ry, defined units for both; added key modifier attributes; changed identifier to float
shepazu <schepers@w3.org>
parents:
5
diff
changeset
|
218 |
</dd> |
83ce29dff849
changed cx/cy to rx/ry, defined units for both; added key modifier attributes; changed identifier to float
shepazu <schepers@w3.org>
parents:
5
diff
changeset
|
219 |
|
18
1ea45991d3e9
ISSUE-1: Add rotationAngle attribute for elliptical touch areas.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
17
diff
changeset
|
220 |
<dt>readonly attribute float rotationAngle</dt> |
1ea45991d3e9
ISSUE-1: Add rotationAngle attribute for elliptical touch areas.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
17
diff
changeset
|
221 |
<dd> |
32
f1cd4dbbd6f8
Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
31
diff
changeset
|
222 |
<p> |
f1cd4dbbd6f8
Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
31
diff
changeset
|
223 |
the angle (in degrees) that the ellipse described by <a>radiusX</a> |
f1cd4dbbd6f8
Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
31
diff
changeset
|
224 |
and <a>radiusY</a> is rotated clockwise about its center; |
33
be8b19639be5
ACTION-31: Remove restriction on rotationAngle and add explanation.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
32
diff
changeset
|
225 |
<code>0</code> if no value is known. The value must be greater |
be8b19639be5
ACTION-31: Remove restriction on rotationAngle and add explanation.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
32
diff
changeset
|
226 |
than or equal to <code>0</code> and less than <code>90</code>. |
32
f1cd4dbbd6f8
Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
31
diff
changeset
|
227 |
</p> |
f1cd4dbbd6f8
Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
31
diff
changeset
|
228 |
<p> |
f1cd4dbbd6f8
Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
31
diff
changeset
|
229 |
If the ellipse described by <a>radiusX</a> and <a>radiusY</a> is |
33
be8b19639be5
ACTION-31: Remove restriction on rotationAngle and add explanation.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
32
diff
changeset
|
230 |
circular, then <a>rotationAngle</a> has no effect. The user agent |
be8b19639be5
ACTION-31: Remove restriction on rotationAngle and add explanation.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
32
diff
changeset
|
231 |
may use <code>0</code> as the value in this case, or it may use any |
be8b19639be5
ACTION-31: Remove restriction on rotationAngle and add explanation.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
32
diff
changeset
|
232 |
other value in the allowed range. (For example, the user agent may |
37
d5eb1e9315e7
Minor wording change for clarity.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
36
diff
changeset
|
233 |
use the <a>rotationAngle</a> value from the previous touch event, |
d5eb1e9315e7
Minor wording change for clarity.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
36
diff
changeset
|
234 |
to avoid sudden changes.) |
32
f1cd4dbbd6f8
Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
31
diff
changeset
|
235 |
</p> |
18
1ea45991d3e9
ISSUE-1: Add rotationAngle attribute for elliptical touch areas.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
17
diff
changeset
|
236 |
</dd> |
1ea45991d3e9
ISSUE-1: Add rotationAngle attribute for elliptical touch areas.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
17
diff
changeset
|
237 |
|
8
3349d49e5f46
added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents:
7
diff
changeset
|
238 |
<dt>readonly attribute float force</dt> |
3349d49e5f46
added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents:
7
diff
changeset
|
239 |
<dd> |
85 | 240 |
a relative value of pressure applied, in the range <code>0</code> to |
241 |
<code>1</code>, where <code>0</code> is no pressure, and |
|
242 |
<code>1</code> is the highest level of pressure the touch device is |
|
243 |
capable of sensing; <code>0</code> if no value is known. In |
|
244 |
environments where <a>force</a> is known, the absolute pressure |
|
245 |
represented by the <a>force</a> attribute, and the sensitivity in |
|
246 |
levels of pressure, may vary. |
|
10
bad00fb0d663
added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents:
9
diff
changeset
|
247 |
|
85 | 248 |
<p class="issue" id="issue-inkml"> |
249 |
<strong>Issue:</strong> |
|
250 |
Consider aligning with other "channels" and values from |
|
251 |
<a href="http://www.w3.org/TR/InkML/#channelContents">Ink Markup |
|
252 |
Language (InkML)</a>, in addition to <a>force</a>, e.g. adding |
|
253 |
<a>angle</a>, <a>clientZ</a>, <a>rotation</a>, etc. |
|
254 |
</p> |
|
8
3349d49e5f46
added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents:
7
diff
changeset
|
255 |
</dd> |
5 | 256 |
</dl> |
257 |
</section> |
|
258 |
||
259 |
<section> |
|
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
260 |
<h2><a>TouchList</a> Interface</h2> |
85 | 261 |
<p> |
262 |
This interface defines a list of individual points of contact for a |
|
105
b9079103b070
Issue-16: Specify that Touch/TouchList/TouchEvent objects are immutable.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
103
diff
changeset
|
263 |
touch event. <a>TouchList</a> objects are immutable; after one is |
b9079103b070
Issue-16: Specify that Touch/TouchList/TouchEvent objects are immutable.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
103
diff
changeset
|
264 |
created, its contents must not change. |
85 | 265 |
</p> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
266 |
|
5 | 267 |
<dl title='interface TouchList' class='idl'> |
268 |
<dt>readonly attribute unsigned long length</dt> |
|
269 |
<dd> |
|
47
926af59e3515
Fix typos in previous commit
Matt Brubeck <mbrubeck@mozilla.com>
parents:
46
diff
changeset
|
270 |
returns the number of <a>Touch</a>es in the list |
5 | 271 |
</dd> |
103 | 272 |
<dt>getter <a>Touch</a> item (in unsigned long index)</dt> |
5 | 273 |
<dd> |
103 | 274 |
returns the <a>Touch</a> at the specified index in the list |
5 | 275 |
</dd> |
103 | 276 |
<dt><a>Touch</a> identifiedTouch (in long identifier)</dt> |
5 | 277 |
<dd> |
103 | 278 |
returns the first <a>Touch</a> item in the list whose <a>identifier</a> property matches the specified identifier |
5 | 279 |
</dd> |
280 |
</dl> |
|
281 |
</section> |
|
282 |
||
283 |
<section> |
|
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
284 |
<h2><a>TouchEvent</a> Interface</h2> |
85 | 285 |
<p> |
286 |
This interface defines the <a>touchstart</a>, <a>touchend</a>, |
|
287 |
<a>touchmove</a>, <a>touchenter</a>, <a>touchleave</a>, and |
|
105
b9079103b070
Issue-16: Specify that Touch/TouchList/TouchEvent objects are immutable.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
103
diff
changeset
|
288 |
<a>touchcancel</a> event types. <a>TouchEvent</a> objects are |
b9079103b070
Issue-16: Specify that Touch/TouchList/TouchEvent objects are immutable.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
103
diff
changeset
|
289 |
immutable; after one is created and initialized, its attributes must |
b9079103b070
Issue-16: Specify that Touch/TouchList/TouchEvent objects are immutable.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
103
diff
changeset
|
290 |
not change. |
85 | 291 |
</p> |
5 | 292 |
|
6
83ce29dff849
changed cx/cy to rx/ry, defined units for both; added key modifier attributes; changed identifier to float
shepazu <schepers@w3.org>
parents:
5
diff
changeset
|
293 |
<dl title='interface TouchEvent : UIEvent' class='idl'> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
294 |
<dt>readonly attribute <a>TouchList</a> touches</dt> |
4 | 295 |
<dd> |
85 | 296 |
a list of <a>Touch</a>es for every point of contact currently |
99 | 297 |
touching the surface. |
4 | 298 |
</dd> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
299 |
<dt>readonly attribute <a>TouchList</a> targetTouches</dt> |
4 | 300 |
<dd> |
96
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
301 |
a list of <a>Touch</a>es for every point of contact that is touching |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
302 |
the surface <em>and</em> started on the element that is the |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
303 |
<a>target</a> of the current event. |
4 | 304 |
</dd> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
305 |
<dt>readonly attribute <a>TouchList</a> changedTouches</dt> |
4 | 306 |
<dd> |
96
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
307 |
<p> |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
308 |
a list of <a>Touch</a>es for every point of contact which contributed |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
309 |
to the event. |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
310 |
</p> |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
311 |
<p> |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
312 |
For the <a>touchstart</a> event this must be a list of the touch |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
313 |
points that just became active with the current event. For the |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
314 |
<a>touchmove</a> event this must be a list of the touch points that |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
315 |
have moved since the last event. For the <a>touchend</a> event |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
316 |
this must be a list of the touch points that have just been removed |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
317 |
from the surface. For the <a>touchenter</a> and <a>touchleave</a> |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
318 |
events, this must be a list of the touch points that have just |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
319 |
entered or left the target element. |
457c2df41b66
Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
95
diff
changeset
|
320 |
</p> |
4 | 321 |
</dd> |
23
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
322 |
|
30
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
323 |
<dt>readonly attribute boolean altKey</dt> |
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
324 |
<dd> |
85 | 325 |
<code>true</code> if the alt (Alternate) key modifier is activated; |
326 |
otherwise <code>false</code> |
|
30
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
327 |
</dd> |
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
328 |
<dt>readonly attribute boolean metaKey</dt> |
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
329 |
<dd> |
85 | 330 |
<code>true</code> if the meta (Meta) key modifier is activated; |
331 |
otherwise <code>false</code>. On some platforms this attribute may |
|
332 |
map to a differently-named key modifier. |
|
30
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
333 |
</dd> |
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
334 |
<dt>readonly attribute boolean ctrlKey</dt> |
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
335 |
<dd> |
85 | 336 |
<code>true</code> if the ctrl (Control) key modifier is activated; |
337 |
otherwise <code>false</code> |
|
30
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
338 |
</dd> |
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
339 |
<dt>readonly attribute boolean shiftKey</dt> |
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
340 |
<dd> |
85 | 341 |
<code>true</code> if the shift (Shift) key modifier is activated; |
342 |
otherwise <code>false</code> |
|
30
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
343 |
</dd> |
92
2e881e5a2e3d
Removed trailing question mark from WebIDL
Sangwhan Moon <smoon@opera.com>
parents:
91
diff
changeset
|
344 |
<dt>readonly attribute EventTarget relatedTarget</dt> |
43
fc6abcf8b74c
ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
42
diff
changeset
|
345 |
<dd> |
fc6abcf8b74c
ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
42
diff
changeset
|
346 |
identifies a secondary EventTarget related to a touch event. This |
fc6abcf8b74c
ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
42
diff
changeset
|
347 |
attribute is used with the <a>touchenter</a> event to indicate the |
fc6abcf8b74c
ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
42
diff
changeset
|
348 |
<a>EventTarget</a> the touch point exited, and with the |
fc6abcf8b74c
ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
42
diff
changeset
|
349 |
<a>touchleave</a> event to indicate the <a>EventTarget</a> the touch |
fc6abcf8b74c
ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
42
diff
changeset
|
350 |
point entered. For other event types, this attribute must be |
fc6abcf8b74c
ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
42
diff
changeset
|
351 |
<code>null</code>. |
fc6abcf8b74c
ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
42
diff
changeset
|
352 |
</dd> |
30
795c0f6c44e7
ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents:
29
diff
changeset
|
353 |
|
23
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
354 |
<!-- Methods --> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
355 |
<dt>void initTouchEvent()</dt> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
356 |
<dd> |
85 | 357 |
initializes a TouchEvent created through the <a>DocumentEvent</a> |
358 |
interface. |
|
23
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
359 |
<dl class='parameters'> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
360 |
<dt>DOMString type</dt> <dd></dd> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
361 |
<dt>boolean canBubble</dt> <dd></dd> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
362 |
<dt>boolean cancelable</dt> <dd></dd> |
68
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
363 |
<dt>AbstractView view</dt> <dd></dd> |
23
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
364 |
<dt>long detail</dt> <dd></dd> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
365 |
<dt>boolean ctrlKey</dt> <dd></dd> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
366 |
<dt>boolean altKey</dt> <dd></dd> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
367 |
<dt>boolean shiftKey</dt> <dd></dd> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
368 |
<dt>boolean metaKey</dt> <dd></dd> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
369 |
<dt>TouchList touches</dt> <dd></dd> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
370 |
<dt>TouchList targetTouches</dt> <dd></dd> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
371 |
<dt>TouchList changedTouches</dt> <dd></dd> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
372 |
</dl> |
4958878564b1
ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
22
diff
changeset
|
373 |
</dd> |
4 | 374 |
</dl> |
100
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
375 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
376 |
<section class="informative"> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
377 |
<h2>Usage Examples</h2> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
378 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
379 |
<p> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
380 |
The examples below demonstrate the relations between the different |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
381 |
<a>TouchList</a> members defined in a <a>TouchEvent</a>. |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
382 |
</p> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
383 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
384 |
<section> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
385 |
<h3>touches and targetTouches of a <a>TouchEvent</a></h3> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
386 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
387 |
<p> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
388 |
This example demonstrates the utility and relations between the |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
389 |
touches and targetTouches members defined in the <a>TouchEvent</a> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
390 |
interface. The following code will generate different output based |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
391 |
on the number of touch points on the touchable element and the document: |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
392 |
</p> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
393 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
394 |
<pre class="example"> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
395 |
<div id='touchable'> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
396 |
This element is touchable. |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
397 |
</div> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
398 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
399 |
document.getElementById('touchable').addEventListener('touchstart', function(ev) { |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
400 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
401 |
if (ev.touches.item(0) == ev.targetTouches.item(0)) |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
402 |
{ |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
403 |
/** |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
404 |
* If the first touch on the surface is also targeting the |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
405 |
* "touchable" element, the code below should execute. |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
406 |
* Since targetTouches is a subset of touches which covers the |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
407 |
* entire surface, TouchEvent.touches >= TouchEvents.targetTouches |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
408 |
* is always true. |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
409 |
*/ |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
410 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
411 |
document.write('Hello Touch Events!'); |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
412 |
} |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
413 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
414 |
if (ev.touches.length == ev.targetTouches.length) |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
415 |
{ |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
416 |
/** |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
417 |
* If all of the active touch points are on the "touchable" |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
418 |
* element, the length properties should be the same. |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
419 |
*/ |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
420 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
421 |
document.write('All points are on target element') |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
422 |
} |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
423 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
424 |
if (ev.touches.length > 1) |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
425 |
{ |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
426 |
/** |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
427 |
* On a single touch input device, there can only be one point |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
428 |
* of contact on the surface, so the following code can only |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
429 |
* execute when the terminal supports multiple touches. |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
430 |
*/ |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
431 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
432 |
document.write('Hello Multiple Touch!'); |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
433 |
} |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
434 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
435 |
}, false); |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
436 |
</pre> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
437 |
</section> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
438 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
439 |
<section> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
440 |
<h3>changedTouches of a <a>TouchEvent</a></h3> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
441 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
442 |
<p> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
443 |
This example demonstrates the utility of changedTouches and it's relation |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
444 |
with the other <a>TouchList</a> members of the <a>TouchEvent</a> interface. |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
445 |
The code is a example which triggers whenever a touch point is removed |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
446 |
from the defined touchable element: |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
447 |
</p> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
448 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
449 |
<pre class="example"> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
450 |
<div id='touchable'> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
451 |
This element is touchable. |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
452 |
</div> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
453 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
454 |
document.getElementById('touchable').addEventListener('touchend', function(ev) { |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
455 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
456 |
/** |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
457 |
* Example output when three touch points are on the surface, |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
458 |
* two of them being on the "touchable" element and one point |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
459 |
* in the "touchable" element is lifted from the surface: |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
460 |
* |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
461 |
* Touch points removed: 1 |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
462 |
* Touch points left on element: 1 |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
463 |
* Touch points left on document: 2 |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
464 |
*/ |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
465 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
466 |
document.write('Removed: ' + ev.changedTouches.length); |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
467 |
document.write('Remaining on element: ' + ev.targetTouches.length); |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
468 |
document.write('Remaining on document: ' + ev.touches.length); |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
469 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
470 |
}, false); |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
471 |
</pre> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
472 |
</section> |
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
473 |
|
4bbe000815dd
Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents:
99
diff
changeset
|
474 |
</section> |
8
3349d49e5f46
added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents:
7
diff
changeset
|
475 |
|
5 | 476 |
<section> |
85 | 477 |
<h3 id="event-touchstart">The <dfn class="event">touchstart</dfn> |
478 |
event</h3> |
|
479 |
<p> |
|
480 |
A user agent must dispatch this event type to indicate when the user |
|
481 |
places a <a>touch point</a> on the touch surface. |
|
482 |
</p> |
|
55
7df98116715b
Clarify targeting of touchmove and touchend events, and add tests.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
54
diff
changeset
|
483 |
|
85 | 484 |
<p> |
93
29ec4253b862
Issue-6: Events should be dispatched to targets within frames.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
92
diff
changeset
|
485 |
The target of this event must be an <a>Element</a>. If the touch |
29ec4253b862
Issue-6: Events should be dispatched to targets within frames.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
92
diff
changeset
|
486 |
point is within a frame, the event should be dispatched to an element |
29ec4253b862
Issue-6: Events should be dispatched to targets within frames.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
92
diff
changeset
|
487 |
in the <a>child browsing context</a> of that frame. |
85 | 488 |
</p> |
95
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
489 |
|
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
490 |
<p> |
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
491 |
If the <a>preventDefault</a> method is called on this event, it |
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
492 |
should prevent any default actions caused by any touch events |
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
493 |
associated with the same <a>active touch point</a>, including mouse |
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
494 |
events or scrolling. |
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
495 |
</p> |
5 | 496 |
</section> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
497 |
|
5 | 498 |
<section> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
499 |
<h3 id="event-touchend">The <dfn class="event">touchend</dfn> event</h3> |
85 | 500 |
<p> |
501 |
A user agent must dispatch this event type to indicate when the user |
|
502 |
removes a <a>touch point</a> from the touch surface, also including |
|
503 |
cases where the touch point physically leaves the touch surface, such |
|
504 |
as being dragged off of the screen. |
|
505 |
</p> |
|
54
be35b766b5ef
Wrap some text to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
53
diff
changeset
|
506 |
|
85 | 507 |
<p> |
508 |
The <a>target</a> of this event must be the same <a>Element</a> that |
|
509 |
received the <a>touchstart</a> event when this <a>touch point</a> was |
|
510 |
placed on the surface, even if the <a>touch point</a> has since moved |
|
511 |
outside the interactive area of the <a>target</a> element. |
|
512 |
</p> |
|
55
7df98116715b
Clarify targeting of touchmove and touchend events, and add tests.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
54
diff
changeset
|
513 |
|
85 | 514 |
<p> |
515 |
The <a>touch point</a> or points that were removed must be included |
|
516 |
in the <a>changedTouches</a> attribute of the <a>TouchEvent</a>, and |
|
517 |
must not be included in the <a>touches</a> and <a>targetTouches</a> |
|
518 |
attributes. |
|
519 |
</p> |
|
5 | 520 |
</section> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
521 |
|
5 | 522 |
<section> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
523 |
<h3 id="event-touchmove">The <dfn class="event">touchmove</dfn> event</h3> |
85 | 524 |
<p> |
525 |
A user agent must dispatch this event type to indicate when the user |
|
526 |
moves a <a>touch point</a> along the touch surface. |
|
527 |
</p> |
|
54
be35b766b5ef
Wrap some text to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
53
diff
changeset
|
528 |
|
85 | 529 |
<p> |
530 |
The <a>target</a> of this event must be the same <a>Element</a> that |
|
531 |
received the <a>touchstart</a> event when this <a>touch point</a> was |
|
532 |
placed on the surface, even if the <a>touch point</a> has since moved |
|
533 |
outside the interactive area of the <a>target</a> element. |
|
534 |
</p> |
|
54
be35b766b5ef
Wrap some text to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
53
diff
changeset
|
535 |
|
85 | 536 |
<p> |
537 |
If the values of <a>radiusX</a>, <a>radiusY</a>, |
|
538 |
<a>rotationAngle</a>, or <a>force</a> are known, then the user agent |
|
539 |
also must dispatch this event type to indicate when any of these |
|
540 |
attributes of a <a>touch point</a> have changed. |
|
541 |
</p> |
|
542 |
||
543 |
<p> |
|
544 |
Note that the rate at which the user agent sends <a>touchmove</a> |
|
545 |
events is implementation-defined, and may depend on hardware |
|
546 |
capabilities and other implementation details. |
|
547 |
</p> |
|
95
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
548 |
|
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
549 |
<p> |
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
550 |
If the <a>preventDefault</a> method is called on the <em>first</em> |
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
551 |
<a>touchmove</a> event of an <a>active touch point</a>, it should |
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
552 |
prevent any default action caused by any <a>touchmove</a> event |
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
553 |
associated with the same <a>active touch point</a>, such as scrolling. |
80bd73a2e5b2
preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
94
diff
changeset
|
554 |
</p> |
5 | 555 |
</section> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
556 |
|
5 | 557 |
<section> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
558 |
<h3 id="event-touchenter">The <dfn class="event">touchenter</dfn> event</h3> |
85 | 559 |
<p> |
560 |
A user agent must dispatch this event type to indicate when a |
|
561 |
<a>touch point</a> moves onto the interactive area defined by a DOM |
|
562 |
element. Events of this type must not bubble. |
|
563 |
</p> |
|
5 | 564 |
</section> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
565 |
|
5 | 566 |
<section> |
9
8171bbe11ccc
changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents:
8
diff
changeset
|
567 |
<h3 id="event-touchleave">The <dfn class="event">touchleave</dfn> event</h3> |
85 | 568 |
<p> |
569 |
A user agent must dispatch this event type to indicate when a |
|
570 |
<a>touch point</a> moves off the interactive area defined by a DOM |
|
571 |
element. Events of this type must not bubble. |
|
572 |
</p> |
|
5 | 573 |
</section> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
574 |
|
5 | 575 |
<section> |
61 | 576 |
<h3 id="event-touchcancel">The <dfn class="event">touchcancel</dfn> event</h3> |
85 | 577 |
<p> |
578 |
A user agent must dispatch this event type to indicate when a touch |
|
579 |
point has been disrupted in an implementation-specific manner, such as |
|
580 |
a synchronous event or action originating from the UA canceling the |
|
581 |
touch, or the touch point leaving the document window into a |
|
582 |
non-document area which is capable of handling user interactions. |
|
583 |
(e.g. The UA's native user interface, plug-ins) A user agent may |
|
584 |
also dispatch this event type when the user places more <a>touch |
|
585 |
point</a>s on the touch surface than the device or implementation is |
|
586 |
configured to store, in which case the earliest <a>Touch</a> object |
|
587 |
in the <a>TouchList</a> should be removed. |
|
588 |
</p> |
|
5 | 589 |
</section> |
4 | 590 |
</section> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
591 |
|
68
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
592 |
<section> |
116
4153b586295c
Extend the Document interface instead of creating a DocumentTouch interface
Matt Brubeck <mbrubeck@mozilla.com>
parents:
105
diff
changeset
|
593 |
<h2>Extensions to the <a>Document</a> Interface</h2> |
85 | 594 |
<p> |
116
4153b586295c
Extend the Document interface instead of creating a DocumentTouch interface
Matt Brubeck <mbrubeck@mozilla.com>
parents:
105
diff
changeset
|
595 |
The <a>Document</a> interface [[!DOM-LEVEL-3-CORE]] contains methods |
4153b586295c
Extend the Document interface instead of creating a DocumentTouch interface
Matt Brubeck <mbrubeck@mozilla.com>
parents:
105
diff
changeset
|
596 |
by which the user can create <a>Touch</a> and <a>TouchList</a> |
4153b586295c
Extend the Document interface instead of creating a DocumentTouch interface
Matt Brubeck <mbrubeck@mozilla.com>
parents:
105
diff
changeset
|
597 |
objects. |
85 | 598 |
</p> |
68
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
599 |
|
116
4153b586295c
Extend the Document interface instead of creating a DocumentTouch interface
Matt Brubeck <mbrubeck@mozilla.com>
parents:
105
diff
changeset
|
600 |
<dl title='partial interface Document' class='idl'> |
68
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
601 |
<dt>Touch createTouch()</dt> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
602 |
<dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
603 |
Creates a <a>Touch</a> object with the specified attributes. |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
604 |
<dl class='parameters'> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
605 |
<dt>AbstractView view</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
606 |
<dt>EventTarget target</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
607 |
<dt>long identifier</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
608 |
<dt>long pageX</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
609 |
<dt>long pageY</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
610 |
<dt>long screenX</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
611 |
<dt>long screenY</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
612 |
<dt>optional long radiusX</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
613 |
<dt>optional long radiusY</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
614 |
<dt>optional float rotationAngle</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
615 |
<dt>optional float force</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
616 |
</dl> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
617 |
</dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
618 |
|
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
619 |
<dt>TouchList createTouchList()</dt> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
620 |
<dd> |
85 | 621 |
Creates a <a>TouchList</a> object containing the specified |
622 |
<a>Touch</a> objects. |
|
68
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
623 |
<dl class='parameters'> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
624 |
<dt>Touch[] touches</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
625 |
</dl> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
626 |
</dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
627 |
|
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
628 |
<dt>TouchList createTouchList()</dt> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
629 |
<dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
630 |
Creates a <a>TouchList</a> object containing a single <a>Touch</a>. |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
631 |
<dl class='parameters'> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
632 |
<dt>Touch touch</dt> <dd></dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
633 |
</dl> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
634 |
</dd> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
635 |
</dl> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
636 |
</section> |
e8bb9dc16d4e
Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
66
diff
changeset
|
637 |
|
35
8624a3d5cbd7
ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents:
34
diff
changeset
|
638 |
<section id="mouse-events"> |
8624a3d5cbd7
ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents:
34
diff
changeset
|
639 |
<h2>Interaction with Mouse Events</h2> |
85 | 640 |
<p> |
641 |
The user agent may dispatch both touch events and mouse events |
|
642 |
[[!DOM-LEVEL-2-EVENTS]] in response to the same user input. If the |
|
643 |
user agent dispatches both touch events and mouse events in response to |
|
644 |
a single user action, then the <a>touchstart</a> event type must be |
|
645 |
dispatched before any mouse event types for that action. If the |
|
646 |
<a>preventDefault</a> method of <a>touchstart</a> or <a>touchmove</a> |
|
647 |
is called, the user agent should not dispatch any mouse event that |
|
648 |
would be a consequential result of the the prevented touch event. |
|
649 |
</p> |
|
58
22e39e76033e
Specify basic preventDefault behavior.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
57
diff
changeset
|
650 |
|
85 | 651 |
<p> |
98
4ad645b57624
More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents:
97
diff
changeset
|
652 |
If the user agent intreprets a sequence of touch events as a click, |
4ad645b57624
More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents:
97
diff
changeset
|
653 |
then it should dispatch <a>mousemove</a>, <a>mousedown</a>, |
4ad645b57624
More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents:
97
diff
changeset
|
654 |
<a>mouseup</a>, and <a>click</a> events (in that order) at the location |
4ad645b57624
More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents:
97
diff
changeset
|
655 |
of the <a>touchend</a> event for the corresponding touch input. If the |
4ad645b57624
More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents:
97
diff
changeset
|
656 |
contents of the document have changed during processing of the touch |
4ad645b57624
More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents:
97
diff
changeset
|
657 |
events, then the user agent may dispatch the mouse events to a |
4ad645b57624
More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents:
97
diff
changeset
|
658 |
different target than the touch events. |
97
3f54db94ae0d
ISSUE-3: Click events should be dispatched after any touch events are processed.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
96
diff
changeset
|
659 |
</p> |
3f54db94ae0d
ISSUE-3: Click events should be dispatched after any touch events are processed.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
96
diff
changeset
|
660 |
|
3f54db94ae0d
ISSUE-3: Click events should be dispatched after any touch events are processed.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
96
diff
changeset
|
661 |
<p> |
85 | 662 |
The default actions and ordering of any further touch and mouse events |
663 |
are implementation-defined, except as specified elsewhere. |
|
664 |
</p> |
|
35
8624a3d5cbd7
ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents:
34
diff
changeset
|
665 |
</section> |
8624a3d5cbd7
ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents:
34
diff
changeset
|
666 |
|
10
bad00fb0d663
added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents:
9
diff
changeset
|
667 |
<section> |
bad00fb0d663
added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents:
9
diff
changeset
|
668 |
<h2>Glossary</h2> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
669 |
|
10
bad00fb0d663
added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents:
9
diff
changeset
|
670 |
<dl> |
91
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
671 |
<dt><dfn>active touch point</dfn></dt> |
85 | 672 |
<dd> |
91
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
673 |
A <a>touch point</a> which is currently on the screen and is being |
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
674 |
tracked by the user agent. The touch point becomes active when the |
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
675 |
user agent first dispatches a <a>touchstart</a> event indicating its |
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
676 |
appearance. It ceases to be active after the user agent dispatches a |
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
677 |
<a>touchend</a> or <a>touchcancel</a> event indicating that the touch |
b2c4ba0eb943
ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents:
87
diff
changeset
|
678 |
point is removed from the surface or no longer tracked. |
10
bad00fb0d663
added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents:
9
diff
changeset
|
679 |
</dd> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
680 |
|
12 | 681 |
<dt><dfn>touch point</dfn></dt> |
85 | 682 |
<dd> |
683 |
The coordinate point at which a pointer (e.g finger or stylus) |
|
684 |
intersects the target surface of an interface. This may apply to a |
|
685 |
finger touching a touch-screen, or an digital pen writing on a piece |
|
686 |
of paper. |
|
687 |
</dd> |
|
10
bad00fb0d663
added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents:
9
diff
changeset
|
688 |
</dl> |
bad00fb0d663
added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents:
9
diff
changeset
|
689 |
</section> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
690 |
|
71
4c4b691aab2a
Add a link to the issue tracker.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
69
diff
changeset
|
691 |
<section id='issues' class='informative'> |
4c4b691aab2a
Add a link to the issue tracker.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
69
diff
changeset
|
692 |
<h2>Issues</h2> |
85 | 693 |
<p> |
694 |
The working group maintains <a |
|
695 |
href='http://www.w3.org/2010/webevents/track/products/2' |
|
696 |
>a list of open issues in this specification</a>. These issues may be |
|
697 |
addressed in future revisions of the specification. |
|
698 |
</p> |
|
71
4c4b691aab2a
Add a link to the issue tracker.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
69
diff
changeset
|
699 |
</section> |
4c4b691aab2a
Add a link to the issue tracker.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
69
diff
changeset
|
700 |
|
4c4b691aab2a
Add a link to the issue tracker.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
69
diff
changeset
|
701 |
<section class='appendix informative'> |
4 | 702 |
<h2>Acknowledgements</h2> |
703 |
<p> |
|
85 | 704 |
Many thanks to the WebKit engineers for developing the model used as a |
705 |
basis for this spec, Neil Roberts (SitePen) for his summary of WebKit |
|
86 | 706 |
touch events, Peter-Paul Koch (PPK) for his write-ups and suggestions, |
85 | 707 |
Robin Berjon for developing the <a |
708 |
href="http://dev.w3.org/2009/dap/ReSpec.js/documentation.html" |
|
709 |
>ReSpec.js spec authoring tool</a>, and the WebEvents WG for their many |
|
710 |
contributions. |
|
4 | 711 |
</p> |
20
3a04fe9b8ef2
Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents:
19
diff
changeset
|
712 |
|
85 | 713 |
<p> |
714 |
Many others have made additional comments as the spec developed, which |
|
715 |
have led to steady improvements. Among them are Matthew Schinckel, |
|
716 |
Andrew Grieve, and Cathy Chan. If I inadvertently omitted your name, |
|
717 |
please let me know. |
|
718 |
</p> |
|
4 | 719 |
</section> |
720 |
</body> |
|
721 |
</html> |