bootstrap-datepicker的bug:有日期输入的地方在下个月页面选择当天日期会以当天日期减少一个月显示(新版本已修复)...

本文针对在特定操作流程下出现的日期选择错误进行了详细的分析,并提供了一种有效的解决方案。该问题表现为选择跨月日期后再返回当月日期时,系统错误地跳转到前一个月。通过对源代码的修改,成功解决了此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bug复现详细描述:先选择今日日期,然后点击下个月的某个日期,注意,是直接点击下个月的某个日期,不能通过日期显示tab的下个月箭头进入下个月再来点击某个日期,然后再直接点击本月的今日日期。然后bug会出现,你会发现日期直接到了这个月的前一个月的今天。

例如:今天是2017年6月30日,打开日期点击选择7月1日。然后点击日期,选择回6月30日。你会发现日期变成了5月30日。

修复:bootstrap-datepicke源码:源码中搜索 click事件,你会发现只有一个click事件。然后将下面这段代码


if (target.hasClass('old')){
    if (month === 0) {
          month = 11;
          year = year - 1;
          monthChanged = true;
          yearChanged = true;
    } else{
          month = month - 1;
          monthChanged = true;
    }
}

增加一个判断,改为

if (target.hasClass('old')){
    if (month === 0) {
        month = 11;
        year = year - 1;
        monthChanged = true;
        yearChanged = true;
    } else if(!target.hasClass('today')){
        month = month - 1;
        monthChanged = true;
     }else {
         monthChanged = true;
     }
}

OK。问题解决。原创文章,转载请附上本文链接。谢谢!

 

转载于:https://www.cnblogs.com/justif/p/7099741.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值