我正在使用
document.getElementById('myId').checked = true;
更改应选中的单选输入/按钮。
它工作得很好,但我也有一个事件监听器
document.getElementById('myId').onchange = function () {
console.log(this.checked);
};
问题是,当我单击单选输入/按钮时,事件侦听器会触发,但当我使用代码更改checked
状态时,事件侦听器不会触发。
发布于 2016-10-17 14:20:36
在docs中:
当控件失去输入焦点并且其值在获得焦点后被修改时,会发生change事件。此事件对INPUT、SELECT和TEXTAREA有效。元素。
因此,当您以编程方式更改该值时,将不会触发该事件。所以你能做的就是以编程的方式触发调用函数的事件。
var ele = document.getElementById('myId');
ele.checked = true;
ele.onchange.call(ele);
https://stackoverflow.com/questions/40079641
复制相似问题