我想在特定条件下触发Tab
键的按键事件,但我收到错误。
错误:未捕获的TypeError:event.initKeyEvent不是函数
function simulateKeyPress(element) {
console.log("Simulate")
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,
9); // charCodeArg);
element.dispatchEvent(event);
}
function keyPress(event) {
simulateKeyPress(this);
}
(function() {
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
inputs[i].addEventListener("keypress", keyPress);
}
})()
<input type="text">
<input type="text">
我一直在使用以下链接作为参考,但仍无法使其正常工作。
以下是Fiddle
的链接 Updated Fiddle使用KeyboardEvent
,但仍然无法触发Tab
按键事件。
另外,我不是在寻找jQuery。
提前致谢。
答案 0 :(得分:1)
Lead.joins("INNER JOIN todos ON leads.user_id = todos.target_id")
.where("leads.deadline_at" => (date_a..date_b))
.select("leads.*, todos.deadline_at")
.order("todos.deadline_at desc")
和MDN文档说:
此功能已从Web标准中删除。一些 浏览器可能仍然支持它,它正在被删除。 不要在旧项目或新项目中使用它。使用它的页面或Web应用程序可能 随时休息。
不要再使用此方法,请使用KeyboardEvent()构造函数 代替。