easyui源码翻译1.32--LinkButton(按钮)
前言
使用$.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(" ").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 <a/> 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(按钮)的更多相关文章
- easyui源码翻译1.32+API翻译全篇导航 (提供下载源码)
前言 EasyUI每个组件都会有 属性.方法.事件 属性 所有的属性都定义在jQuery.fn.{plugin}.defaults里面.例如,对话框属性定义在jQuery.fn.dialog.defa ...
- easyui源码翻译1.32--datagrid(数据表格)
前言 此前网上有easyui1.25的源码 应该算是比较老的版本 之后又经历了1.26 . 1.3. 1.31. 1.32 .1.33.1.34 1.33开始支持css3 算是又一个转折 但是 ...
- easyui源码翻译1.32--MenuButton(菜单按钮)
前言 扩展自$.fn.linkbutton.defaults.使用$.fn.menubutton.defaults重写默认值对象..下载该插件翻译源码 菜单按钮是下拉菜单的一部分.它伴随着linkbu ...
- easyui源码翻译1.32--SplitButton(分割按钮)
前言 扩展自$.fn.linkbutton.defaults.用于$.fn.splitbutton.defaults重写默认值对象.下载该插件翻译源码 类似菜单按钮,分割按钮也与linkbutton和 ...
- easyui源码翻译1.32--Pagination(分页)
前言 使用$.fn.pagination.defaults重写默认值对象下载该插件翻译源码 该分页控件允许用户导航页面的数据.它支持页面导航和页面长度选择的选项设置.用户可以在分页控件上添加自定义按钮 ...
- easyui源码翻译1.32--SearchBox(搜索框)
前言 使用$.fn.searchbox.defaults重写默认值对象.下载该插件翻译源码 搜索框提示用户需要输入搜索的值.它可以结合一个菜单,允许用户选择不同的搜索类别.在用户按下回车键或点击组件右 ...
- easyui源码翻译1.32--panel(面板)
前言 昨天发布了表格datagrid的翻译源码 ,easyui的许多插件有依赖关系 比如datagrid 的渲染需要panel.resizable.linkbutton.pagination 今 ...
- easyui源码翻译1.32--Tabs(选项卡)
前言 使用$.fn.tabs.defaults重写默认值对象.下载该插件翻译源码 选项卡显示一批面板.但在同一个时间只会显示一个面板.每个选项卡面板都有头标题和一些小的按钮工具菜单,包括关闭按钮和其他 ...
- easyui源码翻译1.32--Dialog(对话框窗口)
前言 扩展自$.fn.window.defaults.使用$.fn.dialog.defaults重写默认值对象.下载该插件翻译源码 该对话框是一种特殊类型的窗口,它在顶部有一个工具栏,在底部有一个按 ...
随机推荐
- ASP.NET网络硬盘(文件上传,文件下载)
文件上传: 界面: 前台代码: <body style="text-align: center; background-image: url(Images/bg6.bmp);" ...
- Service的一些使用
service服务一般主要是作为后台服务使用的,前台服务一般结合通知一起. service一般主要用作长期后台服务的,而且和Activity结合性不那么紧密, 一般如果需要频繁的更新UI主要是用Act ...
- 【转】JavaScript系列文章:自动类型转换
我们都知道,JavaScript是类型松散型语言,在声明一个变量时,我们是无法明确声明其类型的,变量的类型是根据其实际值来决定的,而且在运行期间,我们可以随时改变这个变量的值和类型,另外,变量在运行期 ...
- jfinal取消默认跳转到view.jsp页面的方法
今天为了在一个列表中添加一个删除的方法,直接在方法里面谢了一个dao.del();方法,但是调用的时候却出现404错误. 然后就写了一句下面的代码 redirect("/api/listMe ...
- 九度OJ 1533 最长上升子序列 -- 动态规划
题目地址:http://ac.jobdu.com/problem.php?pid=1533 题目描述: 给定一个整型数组, 求这个数组的最长严格递增子序列的长度. 譬如序列1 2 2 4 3 的最长严 ...
- Android中的EditText默认时不弹出软键盘的方法
方法一: 在 AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为 adjustUnspecified|stateHidden <a ...
- RX学习笔记:Bootstrap
Bootstrap https://getbootstrap.com 2016-07-01 在学习FreeCodeCamp课程中了解到Bootstrap,并于课程第一个实战题卡在响应式部分,于是先对B ...
- 图片裁切插件jCrop的使用心得(三)
在这一篇里,我来具体讲讲代码该如何写. 下面是jCrop的初始化代码 //图片裁剪插件Jcrop初始化 function initJcrop() { // 图片加载完成 document.getEle ...
- php练习1——计算器
目标:输入两个数,计算两个数的和/差/积/商 程序如下:两个文件jiSuanQi.html和jiSuanQi.php 结果如下:
- Maya QT interfaces in a class
Most tutorials online have suggested the way to fire commands inside QT interfaces launched n Maya ( ...