aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/touch/target/index.html
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 &lt; 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>