javascript - 不使用 jquery 监听 onkeyup 和 onchange

标签 javascript

我有一个带有 <input> 的表单输入数据时的字段 .onkeyup触发一个函数。不过我也有一个<select>下拉框,当然浏览器不会触发 .onkeyup更改时发生的事件。我的代码目前是

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

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

我怎样才能包含.onchangeformInput.onkeyup不使用jquery

最佳答案

您只需分配两个事件属性即可监听这两个事件。

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

formInput.onkeyup = formInput.onchange = function(e) {
  e.stopPropagation();
  let el = e.target.id;
  console.log(`${e.type} on ${el}`);
}
<form id="Form">
  <input type="text" id="textInput">
  <select id="menu">
    <option>Select an option</option>
    <option>1</option>
    <option>2</option>
  </select>
</form>

在函数中,e.type 将为 keyupchangee.target 将为告诉您事件发生在哪个元素上。

关于javascript - 不使用 jquery 监听 onkeyup 和 onchange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57641458/

相关文章:

javascript - node.js超时重新启动api调用

javascript - 如何让每个实例继承自己的成员实例?

javascript - 在 Cloudflare Worker 中发出一堆异步子请求并在全部完成后返回?

javascript - 查找 JSON 对象大小而不将其解析为字符串

javascript - 在段落内展开

php - PHP 和 Javascript 之间的通信

javascript - jquery如何在页面标题中添加和删除警报号码?

javascript - 如何使用 NodeJS 为 Sequelize 模型添加默认值?

javascript - Angular JS 在 plunker 中不起作用

javascript - 无法在发送加载项 list 时在 Outlook 中添加 AppDomain