我正在尝试找到使用 initKeyboardEvent() 的基本示例。理想情况下,我想创建一个键盘事件,当用户在一个输入字段中输入时按下回车按钮,另一个输入字段将使用 jQuery 显示。有谁知道我在哪里可以找到使用 initKeyboardEvent() 的基本可理解示例?
2 回答
initKeyboardEvent最初是initKeyEvent,MDN 上有一个工作示例:https ://developer.mozilla.org/en-US/docs/DOM/event.initKeyEvent和这里: http: //www.howtocreate.co.uk/tutorials /javascript/domevents。
我相信您可以通过网络搜索找到许多示例:“javascript initkeyevent”和“javascript initKeyboardEvent”。您可能需要测试支持以确定使用哪个。
另请注意,在DOM 4 (draft)中不推荐使用initKeyboardEvent以支持 Event 构造函数语法,在DOM 3中建议并在DOM 4 (draft)中实现。
一个简单的功能测试可能类似于:
// Test for Event constructor
if (typeof Event != 'undefined') {
var x, evt;
try {
x = new Event('keyboardEvent');
} catch(e) {
x = void 0;
}
}
// test to see which method to use
if (typeof x != 'undefined') {
alert('Use Event constructor');
} else if (document.createEvent) {
evt = document.createEvent('KeyboardEvent');
if (evt && evt.initKeyboardEvent) {
alert('Use initKeyboardEvent');
} else if (evt && evt.initKeyEvent) {
alert('Use initKeyEvent');
}
}
但就目前而言,最好测试并使用带有initKeyEvent或initKeyboardEvent的 DOM 2 createEvent。
请注意,Firefox 14 似乎不支持initKeyboardEvent但确实支持Event构造函数和initKeyEvent,IE 9 则相反,不支持initKeyEvent或Event构造函数,但确实支持initKeyboardEvent。
在这里查看我的答案
简而言之:
Here Keyboard Event Level 3 polyfill
例子:
var a = new KeyboardEvent("keypress", {"key": 1, "char": "!", shiftKey: true})
alert(a.type + " | " + a.key + " | " + a.char + " | " + a.shiftKey)