parser模块是easyloader第一个加载的模块,它的主要作用,就是扫描页面上easyui开头的class标签,然后初始化成easyui控件。

     /**
* parser模块主要是解析页面中easyui的控件
*/
$.parser = {
// 是否自动解析
auto: true, // 可以被解析的控件
plugins:['linkbutton','menu','menubutton','splitbutton','layout',
'tree','window','dialog','datagrid',
'combobox','combotree','numberbox','validatebox',
'calendar','datebox','panel','tabs','accordion'
], // 解析函数
parse: function(context){
if ($.parser.auto){
for(var i=0; i<$.parser.plugins.length; i++){
(function(){
// 控件名
var name = $.parser.plugins[i];
// 查找class为easyui-控件名的jq对象,例如,easyui-layout
var r = $('.easyui-' + name, context); if (r.length){
// 如果有这个对象,那么判断它有没有初始化函数
if (r[name]){
// 如果有直接调用
r[name]();
} else if (window.easyloader){
// 如果没有用easyloader把模块的js文件载入进来,再调用
easyloader.load(name, function(){
r[name]();
})
}
}
})();
}
}
}
}; // 调用parse方法,实际上easyloader中已经调用了,我估计这个是给不是easyloader加载时使用的
$(function(){
$.parser.parse();
});
})(jQuery);

EasyUI学习总结(四)——parser源码分析的更多相关文章

  1. EasyUI学习总结(四)——parser源码分析(转载)

    本文转载自:http://www.cnblogs.com/xdp-gacl/p/4082561.html parser模块是easyloader第一个加载的模块,它的主要作用,就是扫描页面上easyu ...

  2. EasyUI学习总结(三)——easyloader源码分析(转载)

    声明:这一篇文章是转载过来的,转载地址忘记了,原作者如果看到了,希望能够告知一声,我好加上去! easyloader模块是用来加载jquery easyui的js和css文件的,而且它可以分析模块的依 ...

  3. 3.EasyUI学习总结(三)——easyloader源码分析

    easyloader模块是用来加载jquery easyui的js和css文件的,即easyloader可以在调用的时候自动加载当前页面所需的文件,不用再自己引用, 而且它可以分析模块的依赖关系,先加 ...

  4. 正式学习React(四) ----Redux源码分析

    今天看了下Redux的源码,竟然出奇的简单,好吧.简单翻译做下笔记: 喜欢的同学自己可以去github上看:点这里 createStore.js import isPlainObject from ' ...

  5. memcached学习笔记——存储命令源码分析下篇

    上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...

  6. memcached学习笔记——存储命令源码分析上篇

    原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command ...

  7. Nginx学习笔记(四) 源码分析&socket/UDP/shmem

    源码分析 在茫茫的源码中,看到了几个好像挺熟悉的名字(socket/UDP/shmem).那就来看看这个文件吧!从简单的开始~~~ src/os/unix/Ngx_socket.h&Ngx_s ...

  8. Redis学习之底层链表源码分析

    Redis底层链表的源码分析: 一.链表结点的结构(单个结点): // listNode 双端链表节点 typedef struct listNode { // 前置节点 struct listNod ...

  9. tornado 学习笔记6 Application 源码分析

    Application 是Tornado重要的模块之一,主要是配置访问路由表及其他应用参数的设置. 源代码位于虚拟运行环境文件夹下(我的是env),具体位置为env > lib>sit-p ...

随机推荐

  1. Oracle数据库操作基本语法

    创建表 SQL>create table classes(        classId number(2),        cname varchar2(40),        birthda ...

  2. vue和echarts 封装的 v-charts 图表组件

    https://v-charts.js.org/#/ 在使用 echarts 生成图表时,经常需要做繁琐的数据类型转化.修改复杂的配置项,v-charts 的出现正是为了解决这个痛点.基于 Vue2. ...

  3. 石头剪刀布三局两胜(平局重来break用法)

  4. C++ code:判断字符串相等

    如果两个字符串中0和1的个数分别相等,则称该对字符串为相等. 方法一: 由于string类对于读取文件中子串以及比较都很方便,所以,用string类的对象来逐对存放字串,然后将字串分别排序后对其进行比 ...

  5. cf932d 树上倍增

    题解链接 https://blog.csdn.net/my_sunshine26/article/details/79338601 感觉能做,但是倍增还不是很熟悉,回头再补

  6. hdu4533 线段树维护分段函数

    更新:x1,y1,x2,y2不用long long 会wa.. #include<iostream> #include<cstring> #include<cstdio& ...

  7. Oracle回收站的清理方法

    http://blog.itpub.net/18841027/viewspace-1057765/

  8. [转]使用tee记录mysql client 所有的操作,十个节省时间的mysql命令

    查看:tail -f /tmp/jack.txt 一:tee方法一.配置文件在服务器上的/etc/my.cnf中的[client]加入 tee =/tmp/client_mysql.log即可. 方法 ...

  9. [转] nginx配置HTTPS

    使用ssl模块配置同时支持http和https并存 一,生成证书 # 1.首先,进入你想创建证书和私钥的目录,例如: cd /etc/nginx/ # 2.创建服务器私钥,命令会让你输入一个口令: o ...

  10. Python高级正则

    import re p = re.compile("^[0-9]") m = p.match('13435aSAdb') print(m.group()) 一.上面的第二行和第三行 ...