即使把这个问题放在这里我也觉得很愚蠢,但我还没有找到解决方案。
也许这就是 onchange 事件应该如何工作,但似乎它触发得太快了(或者在做出最终选择时它应该再次触发)。我有一个选择/下拉菜单,用于刷新部分屏幕,但我发现在 Chrome 和 IE9 中,只要用户开始输入,就会调用 onchange 事件(鼠标选择可以正常工作) - 我想这是有道理的,因为即使他们没有完成输入,也会做出新的选择。无论如何,屏幕会更新,但不会更新下拉列表中用户最终选择的数据(就像它在第一次点击/更改时触发,但当用户停止输入并进行最终选择时它不会再次触发) .
我已将其切换为 onblur,但在用户完成选择并继续之前它不会被触发,所以我很想找到一个比 onblur 更快触发的解决方案,但在用户做出最终选择之后。
这是在 MVC 项目中的 aspx 页面上:
<asp:DropDownList ID="employeeDropdown" runat="server" onchange="RefreshCalendarData()" />
这是它调用的 js 函数:
function RefreshCalendarData() {
// code omitted
Scheduler.Refresh();
}
有没有使用 js 或 jQuery 的好的解决方案/变通方法?