jquery UI Datepicker时间控件冲突问题解决


Posted in Javascript onDecember 16, 2016

公司里的项目由于发展较快,很多东西都没有好好梳理一下,以至于有很多的潜在的问题。
最近就遇到了一个比较坑的问题。datepicker
 有两个插件库中的datepicker插件比较有名。一个是jQuery-UI,一个是bootstrap。两个的api网址分别是

然而在项目中很不巧的两个库都用到了。然后就出现了以下情况:http://jqueryui.com/datepicker/   和  http://bootstrap-datepicker.readthedocs.io/en/latest/index.html

jquery UI Datepicker时间控件冲突问题解决

平时根本不知道我自己用的到底是哪个组件。

主要的问题是,要是你们两个组件能一样的话,我也就没什么问题了。两个组件在各种细节处完全不同。

这次的问题是 我的datepicker框被遮住了,具体如下图(上面的年份切换不见了):

        jquery UI Datepicker时间控件冲突问题解决

找了一下发现是在渲染组件的时候,给自动的加上了z-index:10,然后就被上面fixed的顶部条给遮住了。然而这种情况并不是必现的,在每个人电脑上出现的情况不同,在我看来就是先加载的是谁的组件造成的。(按理来说项目打包后是按照index.html文件中引用的顺序排的,应该也是相同的调用顺序,但是就是在一部分电脑上会出现顺序反过来。有大神能解答么?)

于是为了确定加载的是哪个,我写了下面的代码进行试验:

// 初始化日期控件
var $buyDate = $("input#abc");
var buyDateDatepicker = $buyDate.datepicker({
 language: "zh-CN",
 format: "yyyymm",
 minViewMode: "months",
 autoclose: true,
 onSelect: function() {
  console.log("a");
 },
 onClose: function() {
  console.log("b");
 }
});
$buyDate.on("show", function() {
 $(".datepicker.datepicker-dropdown.dropdown-menu").css("z-index", 1000);
});

这其中大多数都是公用的,其中onSelect、onClose是jQuery-UI的,on绑定的show事件是bootstrap的。

但是跑了一下之后,让我比较吃惊,一个都没有执行,全都没有用。然后静下来仔细考虑了一下,应该是这样。

1、先执行的是bootstrap的组件,先渲染了一遍。

2、然后又让jQuery-UI渲染了一遍,但是并没有覆盖之前的组件。

3、再执行了show事件的绑定。然而这个时候被jQuery-UI重新渲染过了,是读取不到监听事件的,随意也失效了。

我估计,在别人的电脑上,情况反了过来,他们先执行的是jQuery-UI的组件就是可以的。

我在网上都没有查到过其他的人写过相关的冲突的情况。有没有人遇到过,提供一下坑。以后避免踩坑。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
零基础学JavaScript最新动画教程+iso光盘下载
Jan 22 Javascript
js 面向对象的技术创建高级 Web 应用程序
Feb 25 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
Apr 02 Javascript
JS定义回车事件(实现代码)
Jul 08 Javascript
document.execCommand()的用法小结
Jan 08 Javascript
jquery form表单序列化为对象的示例代码
Mar 05 Javascript
AngularJS辅助库browserTrigger用法示例
Nov 03 Javascript
jQuery用FormData实现文件上传的方法
Nov 21 Javascript
5分钟学会Vue动画效果(小结)
Jul 21 Javascript
jQuery轮播图实例详解
Aug 15 jQuery
Vue.js中该如何自己维护路由跳转记录
May 19 Javascript
jQuery+ThinkPHP实现图片上传
Jul 23 jQuery
详解jQuery简单的表单应用
Dec 16 #Javascript
浅谈JavaScript的自动垃圾收集机制
Dec 15 #Javascript
简单三步实现报表页面集成天气
Dec 15 #Javascript
jQuery Validate让普通按钮触发表单验证的方法
Dec 15 #Javascript
JavaScript中定义对象原型的两种使用方法
Dec 15 #Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
Dec 15 #Javascript
javascript数组去重方法分析
Dec 15 #Javascript
You might like
php header示例代码(推荐)
2010/09/08 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
测试你的JS的掌握程度的代码
2009/12/09 Javascript
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
2017/02/22 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
jQuery实现的五星点评功能【案例】
2019/02/18 jQuery
用Python编写简单的定时器的方法
2015/05/02 Python
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
Python3爬楼梯算法示例
2019/03/04 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
python 实现单通道转3通道
2019/12/03 Python
python logging通过json文件配置的步骤
2020/04/27 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
The North Face北面荷兰官网:美国著名户外品牌
2019/10/16 全球购物
泰国最新活动和优惠:Megatix
2020/05/07 全球购物
为什么要有struct关键字
2012/05/08 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
2013/01/03 面试题
毕业生自荐书
2013/12/18 职场文书
《要下雨了》教学反思
2014/02/17 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
听证通知书
2015/04/24 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
重阳节主题班会
2015/08/17 职场文书
关于五一放假的通知
2015/08/18 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python