然之模块下common.js一处bug
2017-08-18 08:35:13
杨桢
  • 访问次数: 59
  • 注册日期: 2017-06-29
  • 最后登录: 2017-11-09
  • 我的积分: 2110
  • 门派等级: 释迦 等级3 比丘

然之在每个模块下,如果该模块页面涉及了左侧使用tree日期树的地方,模块下的js\common.js文件里都会有这样一句:

$('.tree li.active .hitarea').click();

如考勤模块:app\oa\attend\js\common.js

这句话的目的很明显,就是点击一下默认选中项,使其在页面加载的时候就处于展开状态,但是这句话写在了公共文件里,就出现了问题。

比如我点击我的考勤页面里的补录按钮,会加载一个modal模态框,但加载模态框的时候也会加载这个公共文件,就造成了默认项又被点击了一次,也就是我回到我的考勤页面的时候,我发现展开的列表被自动关上了(又指向那个了一次click事件)。

解决办法又两种,一是把这句话从公共文件中删除,哪个页面需要,在哪个页面加。另一种是修改tree日期树地方的代码。通过currentYear和currentMonth判断来直接赋予<li>标签样式,使其展开。

沙发
2017-08-18 09:04:29
杨桢
  • 访问次数: 59
  • 注册日期: 2017-06-29
  • 最后登录: 2017-11-09
  • 我的积分: 2110
  • 门派等级: 释迦 等级3 比丘
另外我还发现一个解决办法,就是在leave模块下,browse页面也用了,但是就没有这个bug,因为此句js存到了browse.js里,这样,在自动加载js的时候,common.js是公共加载的,而browse.js是browse这个页面才会加载的,就跟其他modal无关了。
板凳
2017-08-18 12:22:25
王春生
  • 访问次数: 919
  • 注册日期: 2014-05-02
  • 最后登录: 2019-06-12
  • 我的积分: 1269
  • 门派等级: 无门派
谢谢反馈。先记录下。
1/1