jQuery LigerUI 使用教程入门篇


Posted in Javascript onJanuary 18, 2012

获取最新代码
可以到http://ligerui.googlecode.com下载最新代码。

简介
jQuery LigerUI 是基于jQuery的一系列UI控件组合,简单而又强大,致力于快速打造Web前端界面解决方案。 因为是前端控件,跟服务器无关,可以适合.net,jsp,php等等web服务器环境。目前全部插件的打包压缩JS只有100K左右,很轻巧。使用插件式的开发模式,以“简单”为原则的设计,每个插件尽量独立,并可依赖拓展。

ligerUI是什么
jQuery LigerUI控件丰富,包括基础、导航、布局、表单、表格、树形、窗口等

基础:Resizable、Drag、Tip

导航:Menu、MenuBar、ToolBar

布局:Layout、Tab

表单:Form、TextBox、Button、CheckBox、ComboBox、DateEditor、Radio、Spinner

表格:Grid

树形:Tree

窗口:Dialog、MessageBox、Window

回到顶部
如何使用
jQuery LigerUI是基于jQuery而设计的一系列插件集合。基本上每个插件都是相对独立的。但是彼此之间又紧密地关联着,合理地对插件进行组装,实现出现各种复杂的功能。 使用UI可以帮助你快速地创建友好的用户界面。

第一个例子

<head> 
<title></title> 
<link href="http://www.cnblogs.com/lib/ligerUI/skins/Aqua/css/ligerui-all.css" rel="stylesheet" type="text/css" /> 
<script src="http://www.cnblogs.com/lib/jquery/jquery-1.3.2.min.js" type="text/javascript"></script> 
<script src="http://www.cnblogs.com/lib/ligerUI/js/core/base.js" type="text/javascript"></script> 
<script src="http://www.cnblogs.com/lib/ligerUI/js/plugins/ligerTextBox.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(function () 
{ 
//我们将一个html文本框对象转换成ligerui文本框对象,并返回ligerui对象 
var g = $("#txt1").ligerTextBox( 
{ 
//如果没有输入时,会提示不能为空 
nullText: '不能为空' 
}); /* 
如何获取属性 
*/ 
//方式一 
alert('方式一:' + g.get('disabled')); 
//方式二 
alert('方式二:' + $("#txt1").ligerTextBox('option', 'disabled')); 
/* 
如何设置属性 
*/ 
//方式一 
g.set('disabled', true); 
//方式二 
$("#txt1").ligerTextBox('option', 'disabled', false); 

/* 
如何调用方法 
*/ 
//方式一 
g.setDisabled(); 
//方式二 
$("#txt1").ligerTextBox('setEnabled'); 
/* 
如何设置事件 
*/ 
//这里给文本框绑定一个改变值的事件 
//也可以设置onChangeValue参数 
g.bind('changeValue', function (value) 
{ 
alert(value); 
}); 
}); 
</script> 
</head> 
<body style="padding:10px"> 
<input type="text" id="txt1" value="" style="width:200px"/> 
</body>

更多的参数和方法的设置可以查看API:http://www.ligerui.com/api/

上面是TextBox的使用范例,其他的插件使用方式类似。

如何使用ligerUI对象
我们应用完插件以后,是返回一个ligerui对象的,可以把这个对象保存在一个全局的变量里面。在后续的操作中可能会用到。如果因为变量作用域的限制等,没有及时保存起来。我们可以用其他方式获取。见如下:

保存到一个全局的javascript变量:

var g; 
$(function () 
{ 
g = $("#txt1").ligerTextBox(); 
);

使用$.fn.ligerGetTextBoxManager
var g = $("#txt1").ligerGetTextBoxManager ();

使用$.ligerui.get方法
var g = $.ligerui.get('txt1');

第三个方式的是使用ligerui对象的id直接获取的,在传入参数没有指定id的情况下,对象的id将会使用html元素的id,如果html元素没有id,将会自动生成一个。所以在这里我们可以用html文本框的id来获取。
如果没有指定html元素的id,可以用第一种方式或者第二种方式。
其实第二种方式可以用第一种方式来替代,实则上ligerText是可以重复调用的,不同的是第二次以后调用都是直接放回ligerui对象。当我们不确定html元素是否已经应用了插件的情况下可以使用第二种方式。
其他插件的命名跟TextBox类同
事件处理
事件处理有两种方式。一种是以参数的形式传入,一种是调用ligerui对象的bind方法。
//方式一 
var g = $("#txt1").ligerTextBox( 
{ 
onChangeValue : function(value){alert(value);} 
}); //方式二 
g.bind('changeValue', function (value) 
{ 
alert(value); 
});

使用bind方法是没有带”on”的。
事件监听是可以多次绑定的。
对于某些事件,如果函数的返回值是false,那么后面还没有触发的函数将不会再执行
第二种方式(bind),是V1.1.3使用core机制以后引入的。
方法调用
使用ligerui的接口很方便。只需要调用ligerui对象的方法即可。
//这里设置文本框不能编辑 
g.setDisabled(); 
//这里设置文本框可以编辑 
g.setEnabled();

也可以使用这种方式
$(“#grid”).ligerGrid(‘setEnabled');

至于这个对象有哪些方法,可以查看API
对象的方法是可以扩展的,后面会有一篇ligerui扩展的章节来介绍
第二种方式是在V1.1.4加入的
获取参数值
每一个ligerui对象都会有get方法。可以获取参数值
var url = g.get(‘url');

或者是:
var url = $(“#grid”).ligerGrid(‘option','url');

动态设置参数
每一个ligerui对象都会有set方法。用于动态得设置参数。比如改变Grid的url,那么可以这样写:
g.set(‘url',url);

或者是:
g.set({url:url});

也可以用插件的方式:
$(“#grid”).ligerGrid(‘option','url',url);

第二种方式是允许同时传入多个参数的。
Set方法是所有插件的统一设置属性的接口
Set方法是V1.1.3使用core机制以后引入的。
插件传参的方式是V1.1.4引入的
回到顶部
如何扩展
Ligerui的默认参数、方法都是可以扩展的,这里我们定义了两个入口: $.ligerDefaults和$.ligerMethods。

比如要改变或者扩展Grid的默认参数,可以改变$.ligerDefaults.Grid

默认参数扩展
只需要扩展对象:$.ligerDefaults.{Plugin}

比如要改变表格默认的头部标题:

if($.ligerDefaults.Grid) 
{ 
$.ligerDefaults.Grid.title = "我的表格"; 
}

本地化支持扩展
只需要扩展对象:$.ligerDefaults.{Plugin}String

比如把表格“加载时”翻译成英文:

if($.ligerDefaults.GridString) 
{ 
$.ligerDefaults.GridString.loadingMessage = "loading..."; 
}

方法扩展
只需要扩展对象:$. ligerMethos.{Plugin}

这里给Grid ligerui对象增加一个alert方法:

$.extend($.ligerMethods.Grid, 
{ 
alert : function () 
{ 
//要注意到一点,这里的this就是ligerui对象 
var rowdata = this.getSelectedRow(); 
if (!rowdata) 
alert('空'); 
else 
alert(rowdata.CustomerID); 
} 
} 
); function show() 
{ 
//后面就可以这样使用 
Var g = $(“#maingrid”).ligerGrid(); 
g.alert(); 
}
Javascript 相关文章推荐
window.open被浏览器拦截后的自定义提示效果代码
Nov 19 Javascript
为jQuery增加join方法的实现代码
Nov 28 Javascript
JavaScript设计模式之外观模式介绍
Dec 28 Javascript
很棒的js Tab选项卡切换效果
Aug 30 Javascript
JavaScript 中 avalon绑定属性总结
Oct 19 Javascript
jquery表单插件form使用方法详解
Jan 20 Javascript
vue实现ToDoList简单实例
Feb 07 Javascript
深入浅析var,let,const的异同点
Aug 07 Javascript
详解Axios统一错误处理与后置
Sep 26 Javascript
简单使用webpack打包文件的实现
Oct 29 Javascript
vue 判断页面是首次进入还是再次刷新的实例
Nov 05 Javascript
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
c#和Javascript操作同一json对象的实现代码
Jan 17 #Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
Jan 16 #Javascript
Prototype源码浅析 Enumerable部分之each方法
Jan 16 #Javascript
javascript椭圆旋转相册实现代码
Jan 16 #Javascript
Prototype源码浅析 Number部分
Jan 16 #Javascript
Prototype源码浅析 String部分(四)之补充
Jan 16 #Javascript
Prototype源码浅析 String部分(二)
Jan 16 #Javascript
You might like
codeigniter框架批量插入数据
2014/01/09 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
php和nginx交互实例讲解
2019/09/24 PHP
Laravel实现ApiToken认证请求
2019/10/14 PHP
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
从零开始学习jQuery (二) 万能的选择器
2010/10/01 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
layui输入框只允许输入中文且判断长度的例子
2019/09/18 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
对于Python的框架中一些会话程序的管理
2015/04/20 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
创意活动策划书
2014/01/15 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
2014教师个人自我评价范文
2014/09/13 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
停电放假通知
2015/04/14 职场文书
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB
SpringBoot整合Minio文件存储
2022/04/03 Java/Android
sql注入报错之注入原理实例解析
2022/06/10 MySQL
Python时间操作之pytz模块使用详解
2022/06/14 Python