在项目中增加了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>
-->
然后顺便打开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文件的时候也要留个心眼,能不引用就不引用,否则乱用一气的话,容易和现有的页面内容发生冲突。