当value val()被val()设置时, change()事件处理程序中的逻辑没有运行,但是当用户用鼠标选择一个值时,它会运行。 为什么是这样? <select id="single"> <option>Single</option> <option>Single2</option> </select> <script> $(function() { $(":input#single").change(function() { /* Logic here does not execute when val() is used */ }); }); $("#single").val("Single2"); </script>