Javascript 在没有jquery的情况下侦听onkeyup和onchange

Javascript 在没有jquery的情况下侦听onkeyup和onchange,javascript,Javascript,我有一个带有字段的表单,当数据输入到表单中时,它会触发一个函数。但是,我也有一个下拉框,当然,当它被更改时,浏览器不会触发.onkeyup事件。我的代码目前是 var formInput = document.getElementById('Form'); formInput.onkeyup = function(e){ //do stuff } 我如何在不使用jquery的情况下将.onchange添加到formInput.onkeyup使用document.querySelect

我有一个带有
字段的表单,当数据输入到表单中
时,它会触发一个函数。但是,我也有一个
下拉框,当然,当它被更改时,浏览器不会触发
.onkeyup
事件。我的代码目前是

var formInput = document.getElementById('Form');

formInput.onkeyup = function(e){
    //do stuff
}

我如何在不使用jquery的情况下将
.onchange
添加到
formInput.onkeyup
使用
document.querySelector('input#Form')
document.querySelector('select#Form')区分文本输入元素和选择元素
然后你可以分别处理它们的事件

区分文本输入元素,并使用
document.querySelector('input#Form')
document.querySelector('select#Form')
来选择元素,然后你可以分别处理它们的事件

尝试使用
onchange
而不是
onkeyup
进行下拉选择。 我相信下面的链接将对您有所帮助


尝试使用
onchange
而不是
onkeyup
进行下拉选择。 我相信下面的链接将对您有所帮助


您只需分配两个事件属性,就可以同时侦听这两个属性

var formInput=document.getElementById('Form');
formInput.onkeyup=formInput.onchange=函数(e){
e、 停止传播();
设el=e.target.id;
log(${el}上的${e.type});
}

选择一个选项
1.
2.

您只需分配两个事件属性,就可以同时侦听这两个属性

var formInput=document.getElementById('Form');
formInput.onkeyup=formInput.onchange=函数(e){
e、 停止传播();
设el=e.target.id;
log(${el}上的${e.type});
}

选择一个选项
1.
2.

您应该听取输入并在表单内进行选择。收听表单不会达到您期望的效果。
formInput.onchange=…
@A.Meshu会,因为事件冒泡。我知道
formInput.onchange
会达到@Barmar的效果。我很想两个都听。我知道这是不正确的,但大致是
formInput.onchange | | formInput.onkeyup=function(){
你应该听输入,然后在表单内部进行选择。听表单不会做你期望的事情。
formInput.onchange=…
@A.Meshu会的,因为事件冒泡。我知道
formInput.onchange
会做@Barmar.I尝试听这两个。我知道这不正确,但与
formInpu类似t、 onchange | | formInput.onkeyup=function(){
onchange
仅在输入失去焦点时触发。im所做的
onchange
选项不在输入失去焦点时触发。im所做的选项不在
.onkeyup
按照您的建议使用它时起作用。但是,
.onchange
在选择并更改下拉菜单时不起作用!我不知道分配是可能的!@Barmar是的,它可以工作。我的一个标记中有一个小的打字错误,导致数据无法传播。我非常感谢您为我提供的解决方案。谢谢Barmar!当按照您的建议使用时,
.onkeyup
可以工作。但是,
.onchange
在下拉菜单关闭时不起作用已选择并更改了ICE!我不知道分配是可能的!@Barmar是的,它工作正常。我的一个标记中有一个小的输入错误,导致数据无法传播。我非常感谢您为我提供的解决方案。谢谢Barmar!