我是通过日历设置日期的.显然,日历小部件的功能如下:

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

What I want is:
On changing value in the date-time textfield I need to reset some other fields in the page. I've added a onchange event listener to the datetimetext field which is not getting triggered, because I guess onchange gets triggered only when the element gets focus & its value is changed on losing focus.

因此,我正在寻找一种手动触发这个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相关问答推荐

对字符串进行条件判断

在另一个方法的内部函数中调用 this.method()

使用 Frida 重载函数时从列表中删除元素

Typescript - 具有无效值的类型断言不会引发错误

按 ID 查找和更新嵌套数组元素

如何让带有 p5.js 的 Pix2Pix 运行?

使用 HTML、CSS 和 JavaScript 在页面刷新时保持选定的主题

React Native FlatList 项目消失

未在 process.env 中定义的 Firebase 机密

Google OAuth2 出现问题(应用没有后端,因此只有客户端)

javascript中的第n个子选择器

输入数字必须是 6 位数字或 9 位数字

如何在 JavaScript 中为某些对象创建残像

如何让 Javascript 跟踪我的分数增量?

React Antd:如何删除垂直分隔线与其旁边的任何内容之间的间距?

使用 JavaScript/React 过滤 API 响应

运行 setTimeout 并更改时间值

我不能用 useEffect 在 React 中添加类名还是?

Typescript 通过动态键访问和分配对象属性

合并两个不同大小的相交圆并找到半径加权中心的坐标