Javascript 当;输入“;如果输入标签旁边有更多按钮,是否按了键?

Javascript 当;输入“;如果输入标签旁边有更多按钮,是否按了键?,javascript,html,button,input,Javascript,Html,Button,Input,这里我有一些代码。当我按下enter键时,我试图用JavaScript获取input.value。 如果我删除了第一个按钮,那么它就工作了,但是如果我像这样保留代码,或者如果我将第一个按钮放在输入标记之前,那么它就不工作了 const todoInput=document.querySelector(“.todo输入”); const submit=document.querySelector(“.addBtn”); submit.addEventListener(“单击”,()=>{ 日志(

这里我有一些代码。当我按下enter键时,我试图用JavaScript获取input.value。 如果我删除了第一个按钮,那么它就工作了,但是如果我像这样保留代码,或者如果我将第一个按钮放在输入标记之前,那么它就不工作了

const todoInput=document.querySelector(“.todo输入”);
const submit=document.querySelector(“.addBtn”);
submit.addEventListener(“单击”,()=>{
日志(todoInput.value);
})

您可以在输入字段中添加一个keydown事件监听器,这样当用户单击输入元素,键入内容,然后单击enter时,事件监听器就会被触发

const todoInput=document.querySelector(“.todo输入”);
const submit=document.querySelector(“.addBtn”);
submit.addEventListener(“单击”,()=>{
日志(todoInput.value);
});
//jQuery
$(“输入”)。在(“键控键控”下,函数(e){
如果(e.keyCode==13){//13是回车键的键码
e、 preventDefault();//查找这个
日志(todoInput.value);
}
});

只有当有一个提交按钮时,才在输入字段中按Enter键自动提交表单

您的标志按钮也是一个提交按钮,因为这是没有
类型
属性时的默认按钮。如果不应该是“提交”按钮,请向其添加
type=“button”

const todoInput=document.querySelector(“.todo输入”);
const submit=document.querySelector(“.addBtn”);
submit.addEventListener(“单击”,()=>{
日志(todoInput.value);
})


只有当只有一个提交按钮时,表单才会自动提交。当有多个submit按钮时,您必须显式单击其中一个按钮。您可以将eventListener放在btn类的标题上,无论哪种情况,它都可以工作。因此,当我点击“addButton”类时,我需要它工作,但当我点击enter键时,我也需要它工作。我只有一个按钮上有type=“submit”。默认类型是submit,所以另一个按钮也是submit按钮。使用
type=“button”
覆盖默认值。我不理解jQuery。(蒙着眼睛的猴子:)有没有机会得到香草JS的帮助。我只需要两种情况的解决方案。无论用户是否按enter键或单击“提交”按钮,我都需要以该值为目标。我是否应该使用两个不同的EventListener?看起来这可能有用?当然,您可以使用两个事件侦听器。您可以查看jQuery是如何工作的,这比香草要容易得多。例如:$(“输入”)可以写成document.getElementsByTagName(“输入”)[0]。