如何编写控制台脚本实现自动聚焦id为test的输入框并回车?
解决方法
直接修改输入框的值添加换行不会触发回车键的交互逻辑——页面通常是监听keydown/keyup这类键盘事件来响应回车操作,而非输入框值的变化。你需要先聚焦输入框,再模拟真实的回车键事件,具体代码如下:
// 获取目标输入框 const inputElement = document.getElementById('test'); // 聚焦输入框 inputElement.focus(); // 创建并触发回车键的 keydown 事件 const enterKeydownEvent = new KeyboardEvent('keydown', { key: 'Enter', code: 'Enter', keyCode: 13, which: 13, bubbles: true, // 允许事件冒泡,确保上层监听能捕获到 cancelable: true }); inputElement.dispatchEvent(enterKeydownEvent); // 可选:如果页面逻辑监听 keyup 事件,补充触发该事件 const enterKeyupEvent = new KeyboardEvent('keyup', { key: 'Enter', code: 'Enter', keyCode: 13, which: 13, bubbles: true, cancelable: true }); inputElement.dispatchEvent(enterKeyupEvent);
补充说明
- 针对老旧浏览器,可使用兼容写法:
const inputElement = document.getElementById('test'); inputElement.focus(); const event = document.createEvent('KeyboardEvent'); event.initKeyboardEvent('keydown', true, true, window, 'Enter', 0, '', false, ''); inputElement.dispatchEvent(event);
- 如果输入框属于某个表单元素,也可以直接调用表单的
submit()方法快速提交:
document.getElementById('test').form.submit();
内容的提问来源于stack exchange,提问作者Борисюк Іван
相关产品推荐
相关产品推荐

