blob: 7abb8b55fbf0a380d078cee125ddf1ce47438d1c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
---
title: Touch.target
slug: Web/API/Touch/target
tags:
- API
- DOM
- EventTarget
- TouchEvent
- touch
- 属性
- 移动设备
- 触摸
translation_of: Web/API/Touch/target
---
<p>{{ APIRef("Touch Events") }}</p>
<h2 id="Summary" name="Summary">概述</h2>
<p>这个属性返回触摸点最初接触的 <a href="/zh-CN/docs/Web/API/Element"><code>Element</code></a>,即使这个触摸点已经移出那个元素的交互区域,甚至移出文档。需要注意的是,如果这个元素在触摸过程中被移除,这个事件仍然会指向它,因此这个事件也不会冒泡到 <code>window</code> 或 <code>document</code> 对象。因此,如果有元素在触摸过程中可能被移除,最佳实践是将触摸事件的监听器绑定到这个元素本身,防止元素被移除后,无法再从它的上一级元素上侦测到从该元素冒泡的事件。</p>
<h2 id="Syntax" name="Syntax">语法</h2>
<pre class="eval">var <em>el</em> = <em>touchPoint</em>.target;
</pre>
<h3 id="Return_Value" name="Return_Value">返回值</h3>
<dl>
<dt><code>el</code></dt>
<dd>{{domxref("Touch")}} 对象的目标元素。</dd>
</dl>
<h2 id="示例">示例</h2>
<p>这个例子展示了如何访问 {{domxref("Touch")}} 对象的 {{domxref("Touch.target")}} 属性。{{domxref("Touch.target")}} 属性是最初接触平面的触摸点下的 {{domxref("Element")}} ({{domxref("EventTarget")}}) 。</p>
<p>在下面的代码片段中,我们假设用户在 <code>source</code> 元素上开始接触,因此初始化了一个或多个触摸点。当这个元素上的 {{event("touchstart")}} 事件处理程序被调用时,每个触摸点的 {{domxref("Touch.target")}} 属性可经事件的 {{domxref("TouchEvent.targetTouches")}} 列表访问。</p>
<pre class="brush: js">// 为'source'元素注册一个触摸监听器
var src = document.getElementById("source");
src.addEventListener('touchstart', function(e) {
// 在这个元素上激活的触点间循环
for (var i=0; i < e.targetTouches.length; i++) {
console.log("touchpoint[" + i + "].target = " + e.targetTouches[i].target);
}
}, false);
</pre>
<h2 id="规范">规范</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">规范</th>
<th scope="col">状态</th>
<th scope="col">注释</th>
</tr>
<tr>
<td>{{SpecName('Touch Events 2','#dom-touch-target')}}</td>
<td>{{Spec2('Touch Events 2')}}</td>
<td>Non-stable version.</td>
</tr>
<tr>
<td>{{SpecName('Touch Events', '#widl-Touch-target')}}</td>
<td>{{Spec2('Touch Events')}}</td>
<td>Initial definition.</td>
</tr>
</tbody>
</table>
<h2 id="浏览器兼容性">浏览器兼容性</h2>
<p>{{Compat("api.Touch.target")}}</p>
|