bootstrap-datepicker和jquery-ui在使用日期选择器时的冲突解决

最近在开发一个web项目时,发现引入的bootstrap-datepicker.js和jquery-ui.min.js之间出现了冲突。因为该web项目前端框架使用的是bootstrap3,而且也引用了公司原有的一些框架,原有框架中用到了jquery-ui.min.js,主要用到了一些导入、导出、弹出框等一些工具类,因为项目时间紧,并没有完全用bootstrap进行重新封装,此为背景。

然后在调整前台展示页面时引入了bootstrap的日期插件bootstrap-datepicker.js,引入顺序如下图所示:

bootstrap-datepicker和jquery-ui在使用日期选择器时的冲突解决

然后导致出现的样式如下图所示:

bootstrap-datepicker和jquery-ui在使用日期选择器时的冲突解决

后来经过浏览器前端样式的调试,发现是jquery-ui中有一些对datepicker的初始化操作,而bootstrap-datepicker对datepicker又进行了一些样式调整和封装,存在一些关键字的冲突,然后将两个js调整了顺序,显示就没有问题了。

bootstrap-datepicker和jquery-ui在使用日期选择器时的冲突解决

js引入一些先后顺序造成的冲突问题总结:

1、js之间没有依赖关系的,哪个在前哪个在后没有影响。js之间存在关键字冲突的,可以通过调整加载顺序解决冲突。

2、js之间有依赖关系的,必须要先加载被依赖的那个js,再加载依赖这个js的其它js。