EasyUI基础入门之Parser(解析器)
前言
JQuery EasyUI提供的组件包含功能强大的DataGrid,TreeGrid、面板、下拉组合等。用户能够组合使用这些组件,也能够单独使用当中一个。(使用的形式是以插件的方式提供的)
EasyUI体系结构
EasyUI全部的插件主要分为六大部分。Base基础、Layout布局、Menu&Button、Form表单、Window窗体等。从最基础的開始先掌握EasyUI基础部分。Base部分包括了八个基础插件分别为:
- parser(解析器)
- easyloader(载入器)
- draggable(拖动)
- droppable(放置)
- resizable(大小调整)
- pagination(分页)
- progressbar(进度条)
- searchbox(搜索框)
我们先从parser開始。
Parser(解析器)
解析器是easyui很重要的基础组件,在easyui中我们可以简单的通过class定义一个组件,从而渲染出很好的交互效果。就是通过parser进行解析的。parser会获取全部在指定范围内定义为easyui组件的class定义,而且依据后缀定义把当前节点解析渲染成特定的组件。
parser能够有两种用法:
1、$.parser.parse();不带參数,默认解析该页面中全部被定义为easyui组件的节点。
2、$.parser.parse('#cc');带一个jquery选择器,使用这样的方式我们能够单独解析局部的easyui组件节点。
只是这里要说明的是这个jquery选择器必须是你解析组件的父级以上的节点。也就是说这个查找出来的节点相当于一个容器,它仅仅会解析容器里面的内容。
parser属性:
| 名称 | 类型 | 描写叙述 | 默认值 |
| $.parser.auto |
boolean | 定义是否自己主动解析easyui组件 | true |
| 名称 | 參数 | 描写叙述 |
| $.parser.onComplete |
context | 当语法解析完毕之后触发的event |
依据上表$.parser.onComplete是easyui语法解析完毕之后触发的事件,这个事件是十分实用的。比如在加载一个页面时,页面并非立即就展现的,由于parser在dom加载完毕之后才会对整个页面进行解析,当页面组件使用较多的时候,完整的解析组件必然须要耗费较多的时间,这一过程可能就会出现短暂的界面混乱现象。解决的办法就是:利用onComplete事件再结合一个加载遮罩层就攻克了。
详细的实例能够看例如以下代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>EasyUI基础之Parser</title>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.easyui.min.js"></script>
<script>
function closes() {
$("#Loading").fadeOut("normal", function () { $(this).remove();
alert("数据载入完毕"); });
}
var pc;
$.parser.onComplete = function () {
if (pc) {
clearTimeout(pc);
}
pc = setTimeout(closes, 1000); }
</script>
</head>
<html> <body>
<div id='Loading'>
<image src='images/loading.gif'/>
<font color="#2bd4cd" size="4">页面正在载入中···</font>
</div>
</body>
</html>
上面的样例实际执行的效果是,当dom节点在解析的过程中,界面上会弹出类似"数据正在载入中",parser解析完毕之后,遮罩层就消失,正常显示页面内容(弹出数据载入完毕弹出框)。

Parser(解析器)应用场景
上面的学习中我们知道,easyui依据class就能正常的渲染页面都是靠parser。通常情况下我们在开发的时候并不会用到解析器。以下来看看神马时候我们须要用到解析器。
自己主动调用parser
最基本的运用场景,仅仅要我们书写对应的class,easyui就能成功的渲染页面,这是由于解析器在默认情况下,会在dom载入完毕的时候($(docunment).ready)被调用,并且是渲染整个页面。
手动调用parser
须要手动调用的情况是:当页面已经载入完毕,可是此时我们使用js生成的DOM中包括了easyui支持的class,而且我们也有将其渲染成easyui组件的需求。在这样的情况下手动调用parser就不可避免了。
以例如以下代码为例:
<div class="easyui-accordion" id="tt">
<div title="title1">1</div>
<div title="title2">2</div>
</div>
当上述代码的生成在easyui渲染界面之后,因为easyui不会一直监听页面,所以该段代码并不会并渲染成“手风琴DIV”的样式,这时候就须要我们手动去结下了。只是这里需注意例如以下方面,上面也有提及。
- 解析目标位指定DOM的全部子孙元素,不包好该DOM本身:因此正确的写法为:$parser.parser($('tt').parent()),并不是
$.parser.parse($('#tt')); - 尽量不要多次解析同一个DOM元素(ID):页面初始化就已经主动渲染过dom节点了,你再次手动解析该dom节点时该dom已经被parser重构,得到的DOM就并不是是你料想的结果,该方式应该尽量避免。
EasyUI基础入门之Parser(解析器)的更多相关文章
- EasyUI基础入门之Easyloader(载入器)
在了解完easyui的parser(解析器)之后,接下来就是easyloader(简单载入器)的学习了. 什么是EasyLoader 正如其名字一样easyloader的作用是为了动态的载入组件所需的 ...
- EasyUI Parser 解析器
Parser(解析器)应用场景 1,自动调用parser 只要我们书写相应的class,easyui就能成功的渲染页面,这是因为解析器在默认情况下,会在dom加载完成的时候($(docunment). ...
- 1.引入必要的文件 2.加载 UI 组件的方式 4.Parser 解析器
//引入 jQuery 核心库,这里采用的是 2.0 <scripttype="text/javascript"src="easyui/jquery.min.js& ...
- 【P4语言学习】Parser解析器
参考文章:王垠:谈谈Parser 簡單介紹 P4 語言(一)- Parser 什么是Parser 传统的parser,一般出现在编译器和编译原理课程中,援引<谈谈Parser>的定义: 首 ...
- 【mybatis源码学习】mybtias基础组件-占位符解析器
一.占位符解析器源码 1.占位符解析器实现的目标 通过解析字符串中指定前后缀中的字符,并完成相应的功能. 在mybtias中的应用,主要是为了解析Mapper的xml中的sql语句#{}中的内容,识别 ...
- EasyUI基础入门之Resiable(可缩放)
easyui的base插件学习已经进行到Resizable(可缩放)了.照旧看看easyui官网的API. Resiable 正如其字面意思一样(可伸缩),resiable主要是将一些html元素扩展 ...
- EasyUI基础入门之Pagination(分页)
前言 对于一些企业级的应用来说(非站点),页面上最为基本的内容也就是表格和form了.对于类似于ERP这类系统来说数据记录比較大,前端表格展示的时候必需得实现分页功能了.恰巧EasyUI就提供了分页组 ...
- easyUI基础入门
头部需要引人文件:<!DOCTYPE html><html><head> <meta charset="utf-8"> <ti ...
- EasyUI基础入门之Droppable(可投掷)
怎么说呢Droppable这个单词究竟是什么意思,准确来说easyui作者究竟要表达什么意思,还是不大好拿捏的.只是没关系,没有必要纠结与这些细枝末节的东西,依据官网的demo效果,就简单的将之定义为 ...
随机推荐
- Oracle DBA 的常用Unix参考手册(二)
9.AIX下显示CPU数量 # lsdev -C|grep Process|wc -l10.Solaris下显示CPU数量# psrinfo -v|grep "Status of pr ...
- 硬盘结构介绍--mbr及分区
硬盘刚买来使用时需要经过分区然后格式化才能够使用,硬盘经过分区后,分区软件便会写一个主引导扇区,这个扇区位于硬盘的 0 磁道 0 柱面第1扇区(即0区)(注意:该扇区为隐含扇区,0道0面的全部扇区均为 ...
- Object类介绍
一.Object类介绍
- JAVA和C/C++之间的相互调用。
在一些Android应用的开发中,需要通过JNI和 Android NDK工具实现JAVA和C/C++之间的相互调用. Java Native Interface (JNI)标准是java平台的一部分 ...
- 常见设计模式的解析和实现(C++)之九—Decorator模式
作用:动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator模式相比生成子类更为灵活. UML结构图: 抽象基类: 1) Component :定义一个对象接口,可以为这个接口动态地 ...
- Config配置文件详解
(默认的配置设置)以下所有的代码都应该位于 <configuration> <system.web> 和 </system.web> </configurat ...
- 利用Spring.Net技术打造可切换的分布式缓存读写类
利用Spring.Net技术打造可切换的Memcached分布式缓存读写类 Memcached是一个高性能的分布式内存对象缓存系统,因为工作在内存,读写速率比数据库高的不是一般的多,和Radis一样具 ...
- pycharm 源文件 编码格式
pycharm 4.5.3 版本 修改项目的编码 按如下操作:菜单 File-Settings-Editor-File Encodings 将IDE Encoding 和 Project Encodi ...
- CentOS下编译安装hping3
安装hping之前,先装上libpcap-dev和tcl-dev 1.获取源码包 wget http://www.hping.org/hping3-20051105.tar.gz 2.解压,得到 hp ...
- 简易CSS3 Tab菜单 Tab切换滑块动画
今天要分享一款简易的CSS3 Tab菜单,这款Tab菜单在切换的时候内容块出现飞入飞出的动画效果,尽管看起来非常简单,但是你完全可以在上面定制自己喜欢的Tab菜单.前面也分享过一些Tab菜单,像CSS ...