--- title: KeyboardEvent.initKeyEvent() slug: Web/API/KeyboardEvent/initKeyEvent tags: - API - DOM - KeyboardEvent - Method - 参考 translation_of: Web/API/KeyboardEvent/initKeyEvent ---
{{ ApiRef("DOM Events") }}{{non-standard_header}}{{deprecated_header}}
KeyboardEvent.initKeyEvent方法用于初始化使用{{domxref("document.createEvent")}}("KeyboardEvent")创建的事件的值。 以这种方式初始化的事件必须使用{{domxref("document.createEvent")}}("KeyboardEvent")方法创建。 在调度之前,必须调用initKeyEvent来设置事件。
不要再使用这个方法,而是使用{{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}}构造函数。
该方法基于{{SpecName("DOM2 Events")}}的早期草案,并在基于Gecko的浏览器中实现; 其他浏览器基于{{SpecName("DOM3 Events")}}的早期草稿实现{{domxref("KeyboardEvent.initKeyboardEvent")}}。 将现代构造函数结构视为构建事件的唯一跨浏览器方式。
event.initKeyEvent (type, bubbles, cancelable, viewArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, keyCodeArg, charCodeArg)
type
bubbles
cancelable
viewArg
ctrlKeyArg
altKeyArg
如果要生成的虚拟键是包含
Alt键的键的组合,则为{{jsxref("Boolean")}}。
shiftKeyArg
metaKeyArg
是{{jsxref("Boolean")}}如果要生成的虚拟键是包含
Meta键的键的组合,则为true。
keyCodeArg
charCodeArg
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);
键盘事件的这种实现基于DOM 2事件早期版本中的关键事件规范,后来从该规范中删除。
initKeyEvent是DOM Level 3事件的当前Gecko等价物(最初起草并且不推荐使用{{domxref("KeyboardEvent.KeyboardEvent", "KeyboardEvent()")}} {{domxref("Keyboard.initKeyboardEvent()")}}方法与以下参数:
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);