【发布时间】:2022-01-05 08:20:20
【问题描述】:
有一个没有按钮的表单和输入。您可以通过键入 Enter 发送消息。 表单有一个 id。
是否可以仅使用 JavaScript 触发或伪造 Enter-Key? (没有 jQuery,因为页面已经加载)。
我试过了:
e = jQuery.Event("keypress");
e.which = 13; //choose the one you want
document.querySelector("gui.frm_chat.tabs.tab_6.text.input#main").keypress().trigger(e);
但它没有 jQuery。
【问题讨论】:
-
首先测试您是否拥有实际表格。例如使用
const $form = $("[id^='gui.frm_chat.tabs.tab_6.text.input']"); -
根据documentation,
.trigger只是发送一个事件,因此您可以使用与您的 JQuery.Event 相同的参数(即您的e变量)调度一个事件。 -
就像我说的那样。没有安装 jQuery。我尝试使用 javascript: (function(e, s) { e.src = s; e.onload = function() { jQuery.noConflict(); console.log('jQuery injection'); }; document.head.appendChild (e); })(document.createElement('script'), '//code.jquery.com/jquery-latest.min.js');但它并没有真正起作用。
-
创建事件,例如
new KeyboardEvent('keypress', { code: 'Enter', key: 'Enter', keyCode: 13, which: 13 })不受信任。因此,通过dispatchEvent触发此类事件后不会出现预期的操作。
标签: javascript html forms