【发布时间】:2019-04-29 14:28:31
【问题描述】:
当您使用标准 HTML 中的更改事件处理程序以编程方式更改下拉列表的选定值时,不会触发该事件。例如,如果我这样做:
document.getElementById("my_select").value = "foo";
下拉菜单的 onchange 事件处理程序没有被执行(它只响应用户发起的事件)。
我正在将代码中的所有下拉菜单转换为语义 UI(这是一个很棒的库,顺便说一句)。但是,问题是现在无论更改是由用户交互还是由某些 JS 函数发起的,都会触发 onchange 事件。
所以,当我这样做时:
$('#my_select').dropdown('set selected', 'foo');
onchange 事件被触发。
这是显示这两种行为的小提琴:
所以,我的问题是:
- 是否有其他方法(“设置选定”除外)在下拉列表中选择一个不会触发 onchange 事件的选项?
- 如果没有,有没有办法阻止事件触发?
谢谢!
【问题讨论】:
标签: javascript jquery semantic-ui