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都正常;

转载于:https://www.cnblogs.com/dukeshi/p/6992285.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值