linkbutton.js
jquery.linkbutton.js
/**
* linkbutton - jQuery EasyUI
*
* Licensed under the GPL:
* http://www.gnu.org/licenses/gpl.txt
*
* Copyright 2010 stworthy [ stworthy@gmail.com ]
*/
(function($){ function createButton(target) {
var opts = $.data(target, 'linkbutton').options; $(target).empty();
$(target).addClass('l-btn');
if (opts.id){
$(target).attr('id', opts.id);
} else {
$(target).removeAttr('id');
}
if (opts.plain){
$(target).addClass('l-btn-plain');
} else {
$(target).removeClass('l-btn-plain');
} if (opts.text){
$(target).html(opts.text).wrapInner(
'<span class="l-btn-left">' +
'<span class="l-btn-text">' +
'</span>' +
'</span>'
);
if (opts.iconCls){
$(target).find('.l-btn-text').addClass(opts.iconCls).css('padding-left', '20px');
}
} else {
$(target).html(' ').wrapInner(
'<span class="l-btn-left">' +
'<span class="l-btn-text">' +
'<span class="l-btn-empty"></span>' +
'</span>' +
'</span>'
);
if (opts.iconCls){
$(target).find('.l-btn-empty').addClass(opts.iconCls);
}
} setDisabled(target, opts.disabled);
} function setDisabled(target, disabled){
var state = $.data(target, 'linkbutton');
if (disabled){
state.options.disabled = true;
var href = $(target).attr('href');
if (href){
state.href = href;
$(target).attr('href', 'javascript:void(0)');
}
var onclick = $(target).attr('onclick');
if (onclick) {
state.onclick = onclick;
$(target).attr('onclick', null);
}
$(target).addClass('l-btn-disabled');
} else {
state.options.disabled = false;
if (state.href) {
$(target).attr('href', state.href);
}
if (state.onclick) {
target.onclick = state.onclick;
}
$(target).removeClass('l-btn-disabled');
}
}
/**
* 扩展jQuery对象的属性方法
*/
$.fn.linkbutton = function(options){
if (typeof options == 'string'){
switch(options){
case 'options':
return $.data(this[0], 'linkbutton').options;
case 'enable':
return this.each(function(){
setDisabled(this, false);
});
case 'disable':
return this.each(function(){
setDisabled(this, true);
});
}
} options = options || {};
return this.each(function(){
var state = $.data(this, 'linkbutton');
if (state){
$.extend(state.options, options);
} else {
var t = $(this);
$.data(this, 'linkbutton', {
options: $.extend({}, $.fn.linkbutton.defaults, {
id: t.attr('id'),
disabled: (t.attr('disabled') ? true : undefined),
plain: (t.attr('plain') ? t.attr('plain') == 'true' : undefined),
text: $.trim(t.html()),
iconCls: t.attr('icon')
}, options)
});
t.removeAttr('disabled');
} createButton(this);
});
}; $.fn.linkbutton.defaults = {
id: null,
disabled: false,
plain: false,
text: '',
iconCls: null
}; })(jQuery);
linkbutton.js的更多相关文章
- easyloader.js源代码分析
http://www.cnblogs.com/jasonoiu/p/easyloader_source_code_analysis.html Jquery easyui是一个javascript UI ...
- 3.EasyUI学习总结(三)——easyloader源码分析
easyloader模块是用来加载jquery easyui的js和css文件的,即easyloader可以在调用的时候自动加载当前页面所需的文件,不用再自己引用, 而且它可以分析模块的依赖关系,先加 ...
- easyloader源码
/** * easyloader - jQuery EasyUI * * Licensed under the GPL: * http://www.gnu.org/licenses/gpl.txt * ...
- 使用Jquery+EasyUI 进行框架项目开发案例讲解之二---用户管理源码分享
使用Jquery+EasyUI 进行框架项目开发案例讲解之二 用户管理源码分享 在上一篇文章<使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享>我们分享 ...
- easyui源码翻译1.32--datagrid(数据表格)
前言 此前网上有easyui1.25的源码 应该算是比较老的版本 之后又经历了1.26 . 1.3. 1.31. 1.32 .1.33.1.34 1.33开始支持css3 算是又一个转折 但是 ...
- easyui源码翻译1.32--EasyLoader(简单加载)
前言 扩展自$.fn.datebox.defaults,使用$.fn.datetimebox.defaults重写默认值对象.下载该插件翻译源码 源码 /** * jQuery EasyUI 1.3. ...
- easyui源码翻译1.32--Pagination(分页)
前言 使用$.fn.pagination.defaults重写默认值对象下载该插件翻译源码 该分页控件允许用户导航页面的数据.它支持页面导航和页面长度选择的选项设置.用户可以在分页控件上添加自定义按钮 ...
- easyui源码翻译1.32--SearchBox(搜索框)
前言 使用$.fn.searchbox.defaults重写默认值对象.下载该插件翻译源码 搜索框提示用户需要输入搜索的值.它可以结合一个菜单,允许用户选择不同的搜索类别.在用户按下回车键或点击组件右 ...
- easyui源码翻译1.32--Tabs(选项卡)
前言 使用$.fn.tabs.defaults重写默认值对象.下载该插件翻译源码 选项卡显示一批面板.但在同一个时间只会显示一个面板.每个选项卡面板都有头标题和一些小的按钮工具菜单,包括关闭按钮和其他 ...
随机推荐
- DateTimePicker——开源的Android日历类库
Github托管地址:https://github.com/flavienlaurent/datetimepicker
- OSCache报错error while trying to flush writer
Struts2.3+spring3+hibernate3开发现在想在原有基础上使用 oscache提高性能,使用中发现问题例如:使用struts2标签<cache:cache time=&quo ...
- linux下解压iso文件
.iso文件的格式是iso9660,iso9660是cd上的一种文件系统, 也就是说是 是数据在cd上的组织形式: 它的一些限制是: 1.最多8级子目录(可以用RockRidge Extension增 ...
- 我的 Azure VM 为何会重新启动?
在客户创建的客服案件中, Azure VM意外重启是一个常见的问题,客户要求客服确定重新启动的原因.希望下面的详细说明能够帮助您了解 Azure VM重新启动的原因. WindowsAzure大约 ...
- 自己动手写RTP服务器——用RTP协议传输TS流
上一篇文章我们介绍了关于RTP协议的知识,那么我们现在就自己写一个简单的传输TS流媒体的RTP服务器吧. 预备知识 关于TS流的格式:TS流封装的具体格式请参考文档ISO/IEC 13818-1.这里 ...
- 给即将面临Noip的二班同学
给即将面临Noip的二班同学: 我们共同走过了一年,在这里,真正认识彼此…… 失落过,但更多是欢笑…… 或许我们班的信息学竞赛承受着巨大的压力,但正因为这样,我们才学会了坚持:或许我们得不到他人的认可 ...
- java list 的 四种遍历方式
在java中遍历一个list对象的方法主要有以下四种: 1. For Loop —— 普通for循环 2. Advanced For Loop —— 高级for循环 3. Iterator Loop ...
- mongoose的用法(注:连接数据库)
第一步:连接数据库: mongoose.connect('mongodb://'+user+':'+pass+'@mongo.duapp.com:'+port+'/xzWIRHYlWLAApdsfAz ...
- ubuntu12.04下 安装虚拟主机
Ubuntu Linux 方法一 一.修改/etc/apache2/sites-available/ 1. 打开目录 /etc/apache2/sites-available/, 发现 default ...
- poj 1815 Friendship (最小割+拆点+枚举)
题意: 就在一个给定的无向图中至少应该去掉几个顶点才干使得s和t不联通. 算法: 假设s和t直接相连输出no answer. 把每一个点拆成两个点v和v'',这两个点之间连一条权值为1的边(残余容量) ...