aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/event/initevent/index.html
blob: 3755b99615f2fe363addcb15c272d8dabcdefa7f (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
78
---
title: Event.initEvent()
slug: Web/API/Event/initEvent
translation_of: Web/API/Event/initEvent
---
<div>{{ ApiRef("DOM") }}{{deprecated_header}}</div>

<p><strong><code>Event.initEvent()</code></strong> 方法可以用来初始化由{{domxref("Document.createEvent()") }} 创建的 {{ domxref("event") }} 实例.</p>

<p>用这种方式初始化事件必须是由 {{ domxref("Document.createEvent()") }} 方法创建的实例. 本方法必须在事件被触发之前调用(用{{ domxref("EventTarget.dispatchEvent()") }}调用).事件 一旦被调用, 便不再做其他任何事.</p>

<div class="note">
<p><strong>不建议再使用此方法(方法已经过时deprecated)</strong></p>

<p>可以使用特定的event构造器函数, 比如 {{domxref("Event.Event", "Event()")}}. 该页有关于这些的更多信息 <a href="/en-US/docs/Web/Guide/Events/Creating_and_triggering_events">Creating and triggering events</a> .</p>
</div>

<h2 id="Syntax" name="Syntax">语法</h2>

<pre class="syntaxbox"><em>event</em>.initEvent(<em>type</em>, <em>bubbles</em>, <em>cancelable</em>);</pre>

<dl>
 <dt><em><code>type</code></em></dt>
 <dd>一个 {{domxref("DOMString")}} 类型的字段,定义了事件的类型.</dd>
 <dt><em><code>bubbles</code></em></dt>
 <dd>一个 {{jsxref("Boolean")}} 值,决定是否事件是否应该向上冒泡. 一旦设置了这个值,只读属性{{ domxref("Event.bubbles") }}也会获取相应的值.</dd>
 <dt><em><code>cancelable</code></em></dt>
 <dd>一个 {{jsxref("Boolean")}} 值,决定该事件的默认动作是否可以被取消. 一旦设置了这个值, 只读属性 {{ domxref("Event.cancelable") }} 也会获取相应的值.</dd>
</dl>

<h2 id="Example" name="Example">范例</h2>

<pre><code>// 创建事件.
var event = document.createEvent('Event');
</code>
// 初始化一个点击事件,可以冒泡,无法被取消<code>
event.initEvent('click', true, false);

// 设置事件监听.
elem.addEventListener('click', function (e) {
  // e.target 就是监听事件目标元素
}, false);

// 触发事件监听
elem.dispatchEvent(event);</code>
</pre>

<h2 id="规格">规格</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
  <tr>
   <td>{{SpecName('DOM WHATWG', '#dom-event-initevent','Event.initEvent()')}}</td>
   <td>{{Spec2("DOM WHATWG")}}</td>
   <td>From {{SpecName('DOM2 Events')}}, deprecated it, superseded by event constructors.</td>
  </tr>
  <tr>
   <td>{{SpecName('DOM2 Events','##Events-Event-initEvent','Event.initEvent()')}}</td>
   <td>{{Spec2('DOM2 Events')}}</td>
   <td>Initial definition.</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">浏览器兼容</h2>

{{Compat("api.Event.initEvent")}}

<h2 id="另见">另见</h2>

<ul>
 <li>The constructor to use instead of this deprecated method: {{domxref("Event.Event", "Event()")}}. More specific constructors can be used too.</li>
</ul>