aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/keyboardevent/initkeyevent/index.html
blob: 649f129548077f4a10b90bc4d5911d65b2bea75f (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
79
80
81
82
83
84
85
---
title: KeyboardEvent.initKeyEvent()
slug: Web/API/KeyboardEvent/initKeyEvent
tags:
  - API
  - DOM
  - KeyboardEvent
  - Method
  - 参考
translation_of: Web/API/KeyboardEvent/initKeyEvent
---
<p> </p>

<p>{{ ApiRef("DOM Events") }}{{non-standard_header}}{{deprecated_header}}</p>

<p>KeyboardEvent.initKeyEvent方法用于初始化使用{{domxref("document.createEvent")}}("KeyboardEvent")创建的事件的值。 以这种方式初始化的事件必须使用{{domxref("document.createEvent")}}("KeyboardEvent")方法创建。 在调度之前,必须调用initKeyEvent来设置事件。</p>

<p><strong>不要再使用这个方法,而是使用{{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}}构造函数。</strong><br>
 该方法基于{{SpecName("DOM2 Events")}}的早期草案,并在基于Gecko的浏览器中实现; 其他浏览器基于{{SpecName("DOM3 Events")}}的早期草稿实现{{domxref("KeyboardEvent.initKeyboardEvent")}}。 将现代构造函数结构视为构建事件的唯一跨浏览器方式。</p>

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

<pre><em>event</em>.initKeyEvent (<em>type</em>, <em>bubbles</em>, <em>cancelable</em>, <em>viewArg</em>,
                    <em>ctrlKeyArg</em>, <em>altKeyArg</em>, <em>shiftKeyArg</em>, <em>metaKeyArg</em>,
                    <em>keyCodeArg</em>, <em>charCodeArg</em>)
</pre>

<h3 id="Parameters">Parameters</h3>

<dl>
 <dt><em><code>type</code></em></dt>
 <dd>是表示事件类型的{{domxref("DOMString")}}</dd>
 <dt><em><code>bubbles</code></em></dt>
 <dd>{{jsxref("Boolean")}}指示事件是否应该通过事件链冒泡(请参阅冒泡)。</dd>
 <dt><em><code>cancelable</code></em></dt>
 <dd>{{jsxref("Boolean")}}我指出事件是否可以被取消(见可取消)。</dd>
 <dt><em><code>viewArg</code></em></dt>
 <dd>指定{{domxref("UIEvent.view")}}; 此值可能为空。</dd>
 <dt><em><code>ctrlKeyArg</code></em></dt>
 <dd>如果要生成的虚拟键是包含<kbd>Ctrl</kbd>键的键的组合,则为{{jsxref("Boolean")}}</dd>
 <dt><em><code>altKeyArg</code></em></dt>
 <dd><em><code>如果要生成的虚拟键是包含</code></em><kbd>Alt</kbd><em><code>键的键的组合,则为{{jsxref("Boolean")}}</code></em></dd>
 <dt><em><code>shiftKeyArg</code></em></dt>
 <dd>A {{jsxref("Boolean")}}如果要生成的虚拟键是包含<kbd>Shift</kbd>键的键组合,则返回true。</dd>
 <dt><em><code>metaKeyArg</code></em></dt>
 <dd><em><code>{{jsxref("Boolean")}}如果要生成的虚拟键是包含</code></em><kbd>Meta</kbd><em><code>键的键的组合,则为true。</code></em></dd>
 <dt><em><code>keyCodeArg</code></em></dt>
 <dd>是一个无符号长整型,表示被按下的键的虚拟键码值,否则为0.请参阅{{domxref("KeyboardEvent.keyCode")}}以获取键码列表。</dd>
 <dt><em><code>charCodeArg</code></em></dt>
 <dd>是一个无符号长整型,表示与按下的键相关的Unicode字符,否则为0。</dd>
</dl>

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

<pre>var event = document.createEvent('KeyboardEvent'); // create a key event
// define the event
event.initKeyEvent("keypress",       // typeArg,
                   true,             // canBubbleArg,
                   true,             // cancelableArg,
                   null,             // viewArg,  Specifies UIEvent.view. This value may be null.
                   false,            // ctrlKeyArg,
                   false,            // altKeyArg,
                   false,            // shiftKeyArg,
                   false,            // metaKeyArg,
                    9,               // keyCodeArg,
                    0);              // charCodeArg);

document.getElementById('blah').dispatchEvent(event);
</pre>

<h2 id="Specification" name="Specification">Specification</h2>

<p>键盘事件的这种实现基于DOM 2事件早期版本中的关键事件规范,后来从该规范中删除。</p>

<p>initKeyEvent是DOM Level 3事件的当前Gecko等价物(最初起草并且不推荐使用{{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}} {{domxref("Keyboard.initKeyboardEvent()")}}方法与以下参数:</p>

<pre>typeArg of type DOMString
canBubbleArg of type boolean
cancelableArg of type boolean
viewArg of type views::AbstractView
keyIdentifierArg of type DOMString
keyLocationArg of type unsigned long
modifiersList of type DOMString);</pre>

<p> </p>