datepicker 失效,jquery-ui.js 冲突,日历框跑出来了

在项目中增加了jquery file upload 的一些内容之后,原来的界面元素出了点问题,就是datepicker选择框失效了,并且出现了一些小图形:


一共有30个,从排列情况来看,应该就是正常情况下datepicker展开之后的日历表格,但怎么现在还没点击它就跑出来了?

根据以往的经验,应该是引用新的js文件之后,它在对UI做设置的时候,和原有的UI元素发生了冲突。

于是试着查看最近增加的的关于UI的js引用,并尝试删除引用之后重新观察。

最后发现是 jquery-ui.js 的问题,删除这个引用之后,datepicker 就恢复了正常。

<!--
	<script type="text/javascript" src="js/lib/jquery/jquery-ui.js"></script>
	-->


datepicker 失效,jquery-ui.js 冲突,日历框跑出来了_第1张图片


然后顺便打开jquery-ui.js 看了一下,确实有对于datepicker 的处理:
/*!
 * jQuery UI Datepicker 1.11.0
 * http://jqueryui.com
 *
 * Copyright 2014 jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/datepicker/
 */


$.extend($.ui, { datepicker: { version: "1.11.0" } });
......

在编写文件上传模块的时候,用到了jquery file upload 系列插件,UI的部分,同时引用了两个js:

<script type="text/javascript" src="js/lib/jquery/jquery-ui.js"></script>
<script type="text/javascript" src="js/lib/jquery/jquery.ui.widget.js"></script>

不过再查看一下jquery file upload 的官方例子,里面也仅仅引用了jquery.ui.widget.js 而已,并没有 jquery-ui.js 。

看来在引用js文件的时候也要留个心眼,能不引用就不引用,否则乱用一气的话,容易和现有的页面内容发生冲突。




你可能感兴趣的:(datepicker 失效,jquery-ui.js 冲突,日历框跑出来了)