前言

使用$.fn.linkbutton.defaults重写默认值对象。下载该插件翻译源码

按钮组件使用超链接按钮创建。它使用一个普通的<a>标签进行展示。它可以同时显示一个图标和文本,或只有图标或文字。按钮的宽度可以动态和折叠/展开以适应它的文本标签。

源码

/**
* jQuery EasyUI 1.3.2
*
* 翻译:lbq
*
*g=this p=g.options
*/
(function ($) {
//初始化函数
function _init(target) {
var p = $.data(target, "linkbutton").options;
$(target).empty();
$(target).addClass("l-btn");
if (p.id) {
$(target).attr("id", p.id);
} else {
$(target).attr("id", "");
}
if (p.plain) {
$(target).addClass("l-btn-plain");
} else {
$(target).removeClass("l-btn-plain");
}
if (p.text) {
$(target).html(p.text).wrapInner("<span class=\"l-btn-left\">"
+ "<span class=\"l-btn-text\">"
+ "</span>" + "</span>");
if (p.iconCls) {
$(target).find(".l-btn-text").addClass(p.iconCls).addClass(p.iconAlign == "left" ? "l-btn-icon-left" : "l-btn-icon-right");
}
} else {
$(target).html("&nbsp;").wrapInner("<span class=\"l-btn-left\">"
+ "<span class=\"l-btn-text\">"
+ "<span class=\"l-btn-empty\"></span>"
+ "</span>" + "</span>");
if (p.iconCls) {
$(target).find(".l-btn-empty").addClass(p.iconCls);
}
}
$(target).unbind(".linkbutton").bind("focus.linkbutton", function () {
if (!p.disabled) {
$(this).find("span.l-btn-text").addClass("l-btn-focus");
}
}).bind("blur.linkbutton", function () {
$(this).find("span.l-btn-text").removeClass("l-btn-focus");
});
setDisabled(target, p.disabled);
};
//设置禁用
function setDisabled(target, disabled) {
var g = $.data(target, "linkbutton");
if (disabled) {
g.options.disabled = true;
var href = $(target).attr("href");
if (href) {
g.href = href;
$(target).attr("href", "javascript:void(0)");
}
if (target.onclick) {
g.onclick = target.onclick;
target.onclick = null;
}
$(target).addClass("l-btn-disabled");
} else {
g.options.disabled = false;
if (g.href) {
$(target).attr("href", g.href);
}
if (g.onclick) {
target.onclick = g.onclick;
}
$(target).removeClass("l-btn-disabled");
}
};
//实例化按钮
$.fn.linkbutton = function (options, parm) {
if (typeof options == "string") {
return $.fn.linkbutton.methods[options](this, parm);
}
options = options || {};
return this.each(function () {
var g = $.data(this, "linkbutton");
if (g) {
$.extend(g.options, options);
} else {
$.data(this, "linkbutton", {
options: $.extend({},
$.fn.linkbutton.defaults,
$.fn.linkbutton.parseOptions(this), options)
});
$(this).removeAttr("disabled");
}
_init(this);
});
};
//方法定义(3)
$.fn.linkbutton.methods = {
//返回属性对象
options: function (jq) {
return $.data(jq[0], "linkbutton").options;
},
//启用按钮
enable: function (jq) {
return jq.each(function () {
setDisabled(this, false);
});
},
//禁用按钮
disable: function (jq) {
return jq.each(function () {
setDisabled(this, true);
});
}
};
//解析器配置
$.fn.linkbutton.parseOptions = function (target) {
var t = $(target);
return $.extend({},
$.parser.parseOptions(target,
["id", "iconCls", "iconAlign", { plain: "boolean" }]),
{
disabled: (t.attr("disabled") ? true : undefined),
text: $.trim(t.html()),
iconCls: (t.attr("icon") || t.attr("iconCls"))
});
};
//默认值对象(6)
$.fn.linkbutton.defaults = {
id: null,//组件的ID属性
disabled: false,//为true时禁用按钮
plain: false,//为true时显示简洁效果
text: "",//按钮文字
iconCls: null,//显示在按钮文字左侧的图标(16x16)的CSS类ID
iconAlign: "left"//按钮图标位置。可用值有:'left','right'
};
})(jQuery);

示例代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Basic LinkButton - jQuery EasyUI Demo</title>
<link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="../../themes/icon.css">
<link rel="stylesheet" type="text/css" href="../demo.css">
<script type="text/javascript" src="../../jquery-1.8.0.min.js"></script>
<script src="../../plugins2/jquery.parser.js"></script>
<script src="../../plugins2/jquery.linkbutton.js"></script>
</head>
<body>
<h2>Basic LinkButton</h2>
<div class="demo-info">
<div class="demo-tip icon-tip"></div>
<div>Buttons can be created from &lt;a/&gt; link.</div>
</div>
<div style="margin:10px 0;"></div>
<div style="padding:5px;">
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-add'">Add</a>
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-remove'">Remove</a>
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-save'">Save</a>
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-cut',disabled:true">Cut</a>
<a href="#" class="easyui-linkbutton">Text Button</a>
</div> </body>
</html>

插件效果

easyui源码翻译1.32--LinkButton(按钮)的更多相关文章

  1. easyui源码翻译1.32+API翻译全篇导航 (提供下载源码)

    前言 EasyUI每个组件都会有 属性.方法.事件 属性 所有的属性都定义在jQuery.fn.{plugin}.defaults里面.例如,对话框属性定义在jQuery.fn.dialog.defa ...

  2. easyui源码翻译1.32--datagrid(数据表格)

    前言 此前网上有easyui1.25的源码  应该算是比较老的版本  之后又经历了1.26 . 1.3. 1.31. 1.32 .1.33.1.34  1.33开始支持css3 算是又一个转折  但是 ...

  3. easyui源码翻译1.32--MenuButton(菜单按钮)

    前言 扩展自$.fn.linkbutton.defaults.使用$.fn.menubutton.defaults重写默认值对象..下载该插件翻译源码 菜单按钮是下拉菜单的一部分.它伴随着linkbu ...

  4. easyui源码翻译1.32--SplitButton(分割按钮)

    前言 扩展自$.fn.linkbutton.defaults.用于$.fn.splitbutton.defaults重写默认值对象.下载该插件翻译源码 类似菜单按钮,分割按钮也与linkbutton和 ...

  5. easyui源码翻译1.32--Pagination(分页)

    前言 使用$.fn.pagination.defaults重写默认值对象下载该插件翻译源码 该分页控件允许用户导航页面的数据.它支持页面导航和页面长度选择的选项设置.用户可以在分页控件上添加自定义按钮 ...

  6. easyui源码翻译1.32--SearchBox(搜索框)

    前言 使用$.fn.searchbox.defaults重写默认值对象.下载该插件翻译源码 搜索框提示用户需要输入搜索的值.它可以结合一个菜单,允许用户选择不同的搜索类别.在用户按下回车键或点击组件右 ...

  7. easyui源码翻译1.32--panel(面板)

    前言 昨天发布了表格datagrid的翻译源码 ,easyui的许多插件有依赖关系  比如datagrid 的渲染需要panel.resizable.linkbutton.pagination   今 ...

  8. easyui源码翻译1.32--Tabs(选项卡)

    前言 使用$.fn.tabs.defaults重写默认值对象.下载该插件翻译源码 选项卡显示一批面板.但在同一个时间只会显示一个面板.每个选项卡面板都有头标题和一些小的按钮工具菜单,包括关闭按钮和其他 ...

  9. easyui源码翻译1.32--Dialog(对话框窗口)

    前言 扩展自$.fn.window.defaults.使用$.fn.dialog.defaults重写默认值对象.下载该插件翻译源码 该对话框是一种特殊类型的窗口,它在顶部有一个工具栏,在底部有一个按 ...

随机推荐

  1. 怎样启用SQL SERVER混合身份验证方式

    转载:http://jingyan.baidu.com/article/380abd0aa8f2311d90192cd0.html 大家都知道sql server 有两种登录验证方式,即sql ser ...

  2. GetWindowRect() GetClientRect() ScreenToClient() MoveWindow()

    CWnd.GetWindowRect 参照坐标系:屏幕坐标系,原点为屏幕左上角(0,0)的位置 功能:取得调用窗口CWnd在屏幕坐标系下的RECT坐标 CWnd.GetClientRect 参照坐标系 ...

  3. cocos2d-x实战 C++卷 学习笔记--第7章 动作、特效(一)

    前言: 介绍cocos2d-x中的动作.特效. 动作: 动作(action)包括基本动作和基本动作的组合,这些基本动作有缩放.移动.旋转等,而且这些动作变化的速度也可以设定. 动作类是 Action. ...

  4. 纯代码添加约束条件(Auto Layout)

    Auto Layout 是一种基于约束的.描述性的布局系统.也就是使用约束条件来描述布局,View的Frame会根据这些描述来进行计算. 在iOS6.0以后加入了一个新类: NSLayoutConst ...

  5. String Shifting

    我们规定对一个字符串的shift操作如下:略去.shift(string, x) = string(0 <= x < n). 分析:一看这题,这不很简单么,直接模拟判断,但是这套路有这么简 ...

  6. c#编写简单计算器

    刚接触c#,依照惯例,写个简单的计算器,只写了加法,乘法,其他的类似,编辑器用的vs2008 首先打开vs ,新建c#的Windows窗体应用程序,接下来的项目的名称是WindowsFormsAppl ...

  7. STL简介

    由于不同书籍和翻译问题对STL中的术语可能有差别本文采用侯杰<STL源码剖析>中的术语 STL的组件 包含6个组件,分别为容器.算法.迭代器.仿函数(函数对象).配接器(适配器).配置器( ...

  8. mysql主配置文件my.cnf详细说明

    MySQL配置文件my.cnf 例子最详细翻译,可以保存做笔记用[转载]#BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 ...

  9. MVC , MVP , MVVM【转 阮一峰的网络日志】

    一.MVC MVC模式的意思是,软件可以分成三个部分. 视图(View):用户界面. 控制器(Controller):业务逻辑 模型(Model):数据保存 各部分之间的通信方式如下. View 传送 ...

  10. PHP输出

    样例: $a = true;$b = false;$c = 086;$d = 0x86;echo "$a hase value: ".$a; echo "<br/& ...