jquery不兼容input的change事件处理

  因为客户使用系统一般都是用IE版本的浏览器,所以每次在chrome下调试之后都要在IE走一遍;

  这次准备在选择开始时间或者结束时间之后在下方能及时给出对应的天数,但是在IE8下试了change时间根本触发不了,网上找了解决方案,如下: 

复制代码
 1 //考虑到IE8下无法触发change事件, 因此使用focus和blur搭配实现效果
 2 $(this).on("focus", ".date-picker input", function() {
 3     
 4     $(this).attr("originalVal", $(this).val());    
 5 
 6 }).on("blur", ".date-picker input", function(){
 7     //原始日期值
 8     var oldVal = $(this).attr("originalVal");
 9     //改变后的日期值
10     var newVal = $(this).val();
11     
12         
13     //实时计算课程时长及培训天数
14     if(oldVal != newVal){
16         budgetHandle("change");
17     }
18     
19     
20 });
复制代码

 

 

  首先聚焦前先保存原始值,移除焦点后判断原始值和新值相不相同,如不相同则再进行计算;

  同时测试过IE7,IE8都正常;

posted @   dukeshi  阅读(819)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示