我试图找到使用initKeyboardEvent()的基本示例。理想情况下,我想创建一个键盘事件,在该事件中,当用户在一个输入字段中键入内容时,按下输入按钮时,将使用jQuery显示另一个输入字段。有谁知道在哪里可以找到使用initKeyboardEvent()的基本示例?

最佳答案

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,而建议使用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。

10-07 17:35