【发布时间】:2021-12-14 13:11:31
【问题描述】:
我有一个包含一些元素的 div。
<div>
<input value="" id="MyElement" type="text">
</div>
我将 addEventListener 添加到我的 div 中
document.getElementById("MyDiv").addEventListener('change', function (event)
{
alert(event)
var elem = event.target;
});
如果我通过键盘更改值,它工作正常。 但是,当我从 JS 更改一个值时,什么也没有发生。
例如
function test_1()
{
tmp = document.getElementById("MyElement")
tmp.value = "new value"
}
我必须做些什么来触发我的 OnChange?
好的,我解决了
document.getElementById("MyDiv").dispatchEvent(new Event("change"));
正如“塞巴斯蒂安·西蒙”所建议的那样 谢谢!
【问题讨论】:
-
我试过了,但是触发了它的事件,没有进入 addEventListener
-
@elle0087 你具体尝试了什么? Edit你的帖子。
document.getElementById("MyDiv").dispatchEvent(new Event("change"));肯定可以正常工作。 -
@elle0087,可能你错过了
new Event('change')。检查发布的答案中的工作示例。检查并让我知道是否需要进一步的帮助
标签: javascript html