You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为动态创建的input文本框绑定onchange事件?

问题根因

你当前的写法错误在于,直接执行了find_emp(input.value),将函数执行后的返回值(默认是undefined)绑定为事件回调,而不是把函数本身作为回调绑定到change事件上,所以内容变化时不会触发对应逻辑。

修复方案

方案1:用匿名函数包裹(最常用,推荐)

这种写法每次事件触发时都会取input的最新值,符合绝大多数场景的需求:

// addEventListener 写法
input.addEventListener("change", function() {
  find_emp(this.value);
});

// 箭头函数简写
input.addEventListener("change", () => find_emp(input.value));

// onchange 赋值写法
input.onchange = () => find_emp(input.value);

方案2:用bind方法绑定参数

如果需要提前绑定部分参数可以用这种写法,注意如果绑定的是input.value,只会取绑定时的静态值,不会同步更新:

input.addEventListener("change", find_emp.bind(null, input.value));
额外说明

change事件的触发时机是输入框失去焦点且内容发生变更时,如果你需要输入过程中实时触发回调,可以把事件名替换为input:

input.addEventListener("input", () => find_emp(input.value));

内容的提问来源于stack exchange,提问作者user15089140

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 00:21:03