KeyboardEvent.initKeyEvent()
警告: 不要再使用这个方法,而是使用 KeyboardEvent() 构造函数。
该方法已从 DOM 规范中删除,并且不受任何现代浏览器支持。Firefox 从版本 93 开始默认通过首选项(dom.keyboardevent.init_key_event.enabled)隐藏此方法,并计划很快移除它。
已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。
KeyboardEvent.initKeyEvent 方法用于初始化使用document.createEvent("KeyboardEvent") 创建的事件的值。以这种方式初始化的事件必须使用document.createEvent("KeyboardEvent") 方法创建。在调度之前,必须调用 initKeyEvent 来设置事件。
Syntax
event.initKeyEvent (type, bubbles, cancelable, viewArg,
ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg,
keyCodeArg, charCodeArg)
Parameters
type- : 是表示事件类型的
DOMString。
- : 是表示事件类型的
bubbles- : 是
Boolean指示事件是否应该通过事件链冒泡(请参阅冒泡)。
- : 是
cancelable- : 是
Boolean我指出事件是否可以被取消(见可取消)。
- : 是
viewArg- : 指定
UIEvent.view; 此值可能为空。
- : 指定
ctrlKeyArg-
: 如果要生成的虚拟键是包含
Ctrl
键的键的组合,则为
Boolean
-
: 如果要生成的虚拟键是包含
Ctrl
键的键的组合,则为
altKeyArg-
:
如果要生成的虚拟键是包含Alt键的键的组合,则为Boolean。
-
:
shiftKeyArg-
: A
Boolean如果要生成的虚拟键是包含 Shift 键的键组合,则返回 true。
-
: A
metaKeyArg-
:
是MetaBoolean如果要生成的虚拟键是包含键的键的组合,则为 true。
-
:
keyCodeArg- : 是一个无符号长整型,表示被按下的键的虚拟键码值,否则为 0.请参阅
KeyboardEvent.keyCode以获取键码列表。
- : 是一个无符号长整型,表示被按下的键的虚拟键码值,否则为 0.请参阅
charCodeArg- : 是一个无符号长整型,表示与按下的键相关的 Unicode 字符,否则为 0。
Example
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);
Specification
键盘事件的这种实现基于 DOM 2 事件早期版本中的关键事件规范,后来从该规范中删除。
initKeyEvent 是 DOM Level 3 事件的当前 Gecko 等价物(最初起草并且不推荐使用KeyboardEvent() 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);