如何在EditorFor输入框选值或输入时立即调用JS函数,无需按Tab键
解决方法
核心原理
keyup事件仅能捕获手动键盘输入的操作,通过日期选择器选值、数值输入框点击箭头调整、右键粘贴等非键盘输入的操作不会触发该事件,需要组合多类事件覆盖所有值变更场景。
具体实现
你所有需要监听的输入框已经统一加了empHrs类,日期选择器加了datepicker类,直接在原有JS基础上补充事件绑定即可:
// 页面加载完成后执行绑定 $(function() { // 覆盖手动输入、粘贴、数值调整、拖放赋值等场景,委托绑定兼容动态新增的行 $(document).on('input', '.empHrs', calculfunc); // 适配日期选择器选值场景,根据你用的日期库选择对应写法即可 // 写法1:jQuery UI Datepicker $('.datepicker').datepicker({ // 保留你原有日期选择器的其他配置,新增选中回调 onSelect: calculfunc }); // 写法2:Bootstrap Datepicker // $('.datepicker').datepicker().on('changeDate', calculfunc); }); function calculfunc() { alert("Value has typed or Selected") }
补充说明
如果有自定义数值弹窗给输入框赋值的场景,只需要在弹窗赋值完成的逻辑最后手动调用calculfunc()即可,无需额外绑定事件。
内容的提问来源于stack exchange,提问作者Alan Pauil
相关产品推荐
相关产品推荐

