处理 bootstrap datetimepicker 误点击事件

发现问题

如果设置 bootstrap datetimepicker 为只选择年份

obj.datetimepicker({format: 'yyyy'})



如图1,正确的选择情况鼠标指针应该这样手掌形状的。

但是如果误点击到了多个方块之间的空隙处,例如图3中红框标记处,鼠标形状变成箭头状如图2,就会出现图4所示的错误结果。






而且即使再次点击正确的日期的位置,如果不刷新页面,弹出的选择框已经不能用了,如图4,也无法选择日期了。

 

解决方案

修改 bootstrap-datetimepicker.js 约第1140行,即

// 添加一个判断
if(typeof(year)=="undefined"&&typeof(month)=="undefined"&&typeof(day)=="undefined"){
    return false;
}
// 结束
this._setDate(UTCDate(year, month, day, 0, 0, 0, 0));
this.viewMode = this.startViewMode;
this.showMode(0);
this.fill();
if (this.autoclose) {
    this.hide();

}

原理是当用户误点击事件发生时,直接阻止方法继续执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值