Javascript 如何从同一类中获取一个输入元素的值?

Javascript 如何从同一类中获取一个输入元素的值?,javascript,Javascript,这是我的 除了将事件侦听器附加到类的每个元素之外,还有其他方法吗? 如果可能,我希望避免循环。用于迭代HTMLCollection var user_input=document.getElementsByClassName('inp'); []forEach.call(用户输入,函数(el){ el.addEventListener(“键控”,功能(事件){ event.preventDefault(); 如果(event.keyCode==13){ console.log(this.val

这是我的

除了将事件侦听器附加到类的每个元素之外,还有其他方法吗?
如果可能,我希望避免循环。

用于迭代
HTMLCollection

var user_input=document.getElementsByClassName('inp');
[]forEach.call(用户输入,函数(el){
el.addEventListener(“键控”,功能(事件){
event.preventDefault();
如果(event.keyCode==13){
console.log(this.value);//处理程序函数中的这个关键字引用调用事件的元素!
}
});
});

用于迭代
HTMLCollection

var user_input=document.getElementsByClassName('inp');
[]forEach.call(用户输入,函数(el){
el.addEventListener(“键控”,功能(事件){
event.preventDefault();
如果(event.keyCode==13){
console.log(this.value);//处理程序函数中的这个关键字引用调用事件的元素!
}
});
});

您可以将单个侦听器附加到父元素(在本例中为
),并使用event.target属性获取触发事件的DOM节点

这是因为事件在DOM层次结构中出现气泡。这叫做“活动授权”

请参阅以下链接:

示例代码:

HTML:


您可以将单个侦听器附加到父元素(在本例中为
),并使用event.target属性获取触发事件的DOM节点

这是因为事件在DOM层次结构中出现气泡。这叫做“活动授权”

请参阅以下链接:

示例代码:

HTML:


我无法对Jason Cemra发表评论

除了他/她的答案外,PhoxKiD要求的目标元素是“inp”类的输入。因此,设定一个条件

document.getElementById("parent").addEventListener("keyup", function (event){
    if(event.target.className == 'inp') {
        //your code
    }
    else{  //for other inner elements
        event.preventDefault(); //prevents the default action
        event.stopPropagation(); //stop bubbling up
    }
}

我无法对Jason Cemra发表评论

除了他/她的答案外,PhoxKiD要求的目标元素是“inp”类的输入。因此,设定一个条件

document.getElementById("parent").addEventListener("keyup", function (event){
    if(event.target.className == 'inp') {
        //your code
    }
    else{  //for other inner elements
        event.preventDefault(); //prevents the default action
        event.stopPropagation(); //stop bubbling up
    }
}


没有别的办法了!那么什么是最佳方式呢?是的,您没有提供任何方式,为什么不使用id's@Rayon谢谢,看起来好极了,别无选择!那么什么是最佳方式呢?是的,您没有提供任何方式,为什么不使用id's@Rayon谢谢,看起来很漂亮!看起来您是从某处复制的/…即使格式相同:P@Rayon,这一行[]。forEach.call(用户输入,函数(el)来自urs)。rest我在我的电脑上工作,通过使用它,我尝试loop@MandeepSingh-没有别的了…没关系!快乐编码:)谢谢@Rayon,请用你提供的jsbin发布你的答案,从你那里学到了一句话:)嘿!看起来您是从某处复制的/…即使格式相同:P@Rayon,这一行[]。forEach.call(用户输入,函数(el)来自urs)。rest我在我的电脑上工作,通过使用它,我尝试loop@MandeepSingh-没有别的了…没关系!快乐编码:)谢谢@Rayon,请用您提供的jsbin发布您的答案,从您那里学到了一行:)您如何定位内部元素?您如何定位内部元素?按照PhoxKiD的要求,Jason Cemra的方法没有循环/迭代很棒!顺便说一句,冒泡是什么意思?当一个事件从一个对象触发时,它冒泡(传递)到对象的父对象。在Jason Cemra的回答中,事件是从输入对象触发的,该事件由其父对象冒泡并处理。在上面的代码中,如果事件不是从类名为“inp”的输入触发的,则为“event.stopPropagation();”杀死事件或弹出气泡,防止其进一步冒泡。按照PhoxKiD的要求,Jason Cemra的方法没有循环/迭代太棒了!顺便说一句,冒泡是什么意思?当一个事件从一个对象触发时,它冒泡(传递)到对象的父对象。在Jason Cemra的回答中,事件是从输入对象触发的,该事件由其父对象冒泡并处理。在上面的代码中,如果事件不是从类名为“inp”的输入触发的,则为“event.stopPropagation();”终止事件或弹出气泡,防止其进一步冒泡。
document.getElementById("parent").addEventListener("keyup", function (event){
    if(event.target.className == 'inp') {
        //your code
    }
    else{  //for other inner elements
        event.preventDefault(); //prevents the default action
        event.stopPropagation(); //stop bubbling up
    }
}