easyui初始化datagrid表格碰到的bug及解决方法

1.问题描述

今天运维提了一个bug问题,说是初始化表格加载的时候,出现问题:1.默认分页查询,页面加载了两次,第一次是分页查询,加载完毕后,又加载了一次全部查询展示;2.表格下方的页数统计显示会在第二次加载结束后显示页数为NULL.

2.问题查找

我看了一下页面jQuery初始化datagrid,发现有一下问题:在初始化加载过程中,对datagrid进行方法初始化,添加列表的双击事件,事件会加载本页面的一个dialog,并对该dialog进行数据初始化.

当我本地测试一下,解析控制台日志,发现该页面刷新一次,后台会执行四次查询sql,其中两次sql会被easyui自动添加上分页页数,另外两条sql则是全部.

这样子,就找到问题所在了,在初始化datagrid的过程中,sql参数封装有问题.

3.问题解决

经过资料查找和测试,最终找到了解决方法.

将$(function(){});这种初始化加载方法,换成window.onload = function(){}方法.

1. $(function(){})方法的特点:不会被覆盖,即框架生成和自己写了多少个该方法,就会执行多少次.在DOM加载完毕后,页面全部内容完全加载完毕前被执行.

2.window.onload方法的特点:会被覆盖,即无论有多少个该方法,最终都会执行一个,而且是最后一个.会在页面资源全部加载完毕后才会执行.

现附上DOM页面加载顺序: 

1.解析HTML结构 

2.加载外部的脚本和样式文件 

3.解析并执行脚本代码 

4.执行$(function(){})内对应代码 

5.加载图片等二进制资源 

6.页面加载完毕,执行window.onload

参考资料:https://www.cnblogs.com/xfcao/p/6514438.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,835评论 0 11
  • 之一 时间 用手无法捂住 眼见指缝间 一分一秒地流逝 即使醉眼朦胧 也能真真切切地听到 “嘀哒、嘀哒”的足音 酿酒...
    金永辉煌阅读 485评论 3 9
  • 【雪若】 余生没那么长,请你忠于自己,活的还像自己。--------题记 《雪若》 作者:迟亦早 若要心静洁, 须...
    苏真lly阅读 246评论 0 0
  • 从小喜欢粘着我的表妹终于离婚了,在二胎喜得贵子的月子结束后3天! 10年前她迷上了佛教,开始早出晚归打坐念经交佛友...
    冰诗盈阅读 252评论 0 0