我希望能够使用jQuery检测下拉列表的选定值何时发生了变化。下拉列表的选定值由其他JavaScript更改,因此我希望能够捕获此事件。
我可以看到下拉列表更改,但以下代码无法正确捕获事件。 change
事件仅在用户而非其他代码执行时捕获事件吗?
$('select[name=b_country]').live('change', function() {
alert('the country dropdown has changed');
});
<select name="b_country" style="display: block;">
答案 0 :(得分:2)
是的,只有用户互动会触发事件。否则,您将无法在不进入无限循环的情况下(重新)在侦听器中设置值。
如果要通知其他(侦听)脚本您更改了值,可以手动触发事件。使用jQuery,这很容易:
$('select[name=b_country]').val(…).change();