gpt4 book ai didi

javascript - 如何手动触发 onchange 事件?

转载 作者:IT老高 更新时间:2023-10-28 11:03:48 26 4
gpt4 key购买 nike

我正在通过日历小部件设置日期时间文本字段值。显然,日历小部件会做这样的事情:

document.getElementById('datetimetext').value = date_value;

我想要的是:
在更改日期时间文本字段中的值时,我需要重置页面中的其他一些字段。我在 datetimetext 字段中添加了一个 onchange 事件监听器,该字段没有被触发,因为我猜 onchange 仅在元素获取时才会触发焦点和它的值(value)在失去焦点时改变。

因此,我正在寻找一种方法来手动触发此 onchange 事件(我猜应该负责检查文本字段中的值差异)。

有什么想法吗?

最佳答案

有几种方法可以做到这一点。如果 onchange 监听器是通过 element.onchange 属性设置的函数,并且您不关心事件对象或冒泡/传播,最简单的方法就是调用那个函数:

element.onchange();

如果你需要它来完整地模拟真实事件,或者如果你通过 HTML 属性或 addEventListener/attachEvent 设置事件,你需要做一点特征检测以正确触发事件:

if ("createEvent" in document) {
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
element.dispatchEvent(evt);
}
else
element.fireEvent("onchange");

关于javascript - 如何手动触发 onchange 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2856513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com