【发布时间】:2018-08-09 20:27:13
【问题描述】:
我试图在我的输入上触发一个 enter keypress 事件而不实际按下 enter 键,更多只是 onload。
我发现 initKeyboardEvent 和 initKeyEvent 都已被弃用,即使 e.keyCode 和 e.which 正在从 Web 标准中删除。
I also found this post 介绍了如何在 jQuery 中执行此操作。但是,我一直试图弄清楚如何在 vanilla JS 中做到这一点,但没有运气。
var txtbox = document.getElementById('txtbox');
txtbox.onkeydown = function(e) {
if (e.keyCode == 13) {
alert('enter key pressed');
}
e.preventDefault();
};
var ev = document.createEvent('KeyboardEvent');
// Send key '13' (= enter)
ev.initKeyboardEvent(
'keydown', true, true, window, false, false, false, false, 13, 0);
document.body.dispatchEvent(ev);
<input type="text" id="txtbox" placeholder="trigger enter key press">
【问题讨论】:
标签: javascript