热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【连载】研究EasyUI系统—LinkButton组件

linkbutton是easyui框架中的按钮组件,也是其他诸如MenuButton等各种形式按钮组件的父组件。linkbutton基于html中<a>标签创建,用户可以在按钮中

  linkbutton是easyui框架中的按钮组件,也是其他诸如MenuButton等各种形式按钮组件的父组件。linkbutton基于html中标签创建,用户可以在按钮中添加图标和文字,是一种很常用的组件。
linkbutton效果图
  上图中的“取消”和“登陆”按钮就是linkbutton。来看一下具体代码。
  
  linkbuttonDemo.php

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="easyui/themes/bootstrap/easyui.css" />
        <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
        <script type="text/Javascript" src="easyui/jquery.min.js">script>
        <script type="text/Javascript" src="easyui/jquery.easyui.min.js">script>
        <title>linkbuttonDemotitle>
        <style> .container { text-align: center; width: 100%; } .inputContainer { width:400px; margin: auto; margin-top: 20px; } .inputLabel { font-size: 13px; padding-right: 10px; font-weight: bold; } .inputButton { margin-top: 40px; } style>
    head>
    <body>
        <div class="easyui-window" id="winButton">
            <div class="container">
                <div class="inputContainer">
                    <label class="inputLabel">请输入账号label>
                    <input class="easyui-textbox" data-options="height:28,width:240">
                div>
                <div class="inputContainer">
                    <label class="inputLabel">请输入密码label>
                    <input class="easyui-textbox" type="password" data-options="height:28,width:240">
                div>
                <a id="btnCancel" class="easyui-linkbutton inputButton" href="Javascript:void(0)">a>
                <a id="btnLogin" class="easyui-linkbutton inputButton" href="Javascript:void(0)" style="margin-left: 20px">a>
            div>
        div>
        <script> $("#winButton").window({ title:'LinkButton示例', width:480, height:240, collapsible:false, minimizable:false, maximizable:false }); $("#btnCancel").linkbutton({ iconCls:'icon-cancel', width:80, height:30, text:'取消', onClick:function() { $('#winButton').window('close'); } }); $("#btnLogin").linkbutton({ iconCls:'icon-ok', width:80, height:30, text:'登陆' }); script>
    body>
html>

  上例代码我们只对“取消”按钮做了事件处理,点击“取消”按钮,隐藏整个对话框(window组件),但未对“登陆”按钮做任何处理,用户可以根据实际项目编写对应代码。
  
  linkbutton组件属性

属性名称 属性值类型 属性默认值 描述
width 数值 null 组件宽度。
height 数值 null 组件高度。
id 字符串 null 组件id。
disabled 布尔值 false 是否禁用组件。
toggle 布尔值 false 值为true时可设定按钮处于选中或未选中状态。
1.3.3及以上版本支持。
selected 布尔值 false 如值为true,用户可将按钮设为选中状态。
1.3.3及以上版本支持。
group 字符串 null 通过设置组名将按钮分组。
plain 布尔值 false 值为true时按钮外观无凸起效果。
text 字符串 按钮标题。
iconCls 字符串 null 按钮图标样式。
iconAlign 字符串 ‘left’ 按钮图标位置。
有’left’、’right’、’top’、’bottom’四个值。
1.3.2及以上版本支持。
size 字符串 ‘small’ 按钮大小。有’small’、’large’四个值。
1.3.6及以上版本支持。

  disabled属性决定是否禁用按钮,一旦按钮禁用,按钮就无法点击,相关的事件也无法触发。下图展示“登陆”按钮禁用时的状态。
linkbutton组件disabled属性效果图
  我们先看下面的效果图和一段代码,然后将toggle、selected、group三者结合起来讲述。
linkbutton组件group、toggle、selected属性效果图

  linkbuttonToggleDemo.php

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="easyui/themes/bootstrap/easyui.css" />
        <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
        <script type="text/Javascript" src="easyui/jquery.min.js">script>
        <script type="text/Javascript" src="easyui/jquery.easyui.min.js">script>
        <title>linkbuttonToggleDemotitle>
    head>
    <body>
        <div class="container">
            <a id="btn1" class="easyui-linkbutton" href="Javascript:void(0)">a>
            <a id="btn2" class="easyui-linkbutton" href="Javascript:void(0)" style="margin-left: 20px">a>
            <a id="btn3" class="easyui-linkbutton" href="Javascript:void(0)" style="margin-left: 20px">a>
            <a id="btn4" class="easyui-linkbutton" href="Javascript:void(0)" style="margin-left: 20px">a>
        div>

        <script> $("#btn1").linkbutton({ iconCls:'icon-ok', width:80, height:30, text:'按钮1', toggle:true, group:'g1' }); $("#btn2").linkbutton({ iconCls:'icon-add', width:80, height:30, text:'按钮2', toggle:true, group:'g1' }); $("#btn3").linkbutton({ iconCls:'icon-save', width:80, height:30, text:'按钮3', toggle:true, group:'g1' }); $("#btn4").linkbutton({ iconCls:'icon-cancel', width:80, height:30, text:'按钮4', toggle:true, group:'g1' }); script>
    body>
html>

  linkbuttonToggleDemo.php是上图的具体实现代码。可以看到,按钮2处于”selected”状态(即按下状态),这就是”selected”属性的效果,按钮的”selected”属性设置为true时,该按钮即为按下状态。
  “toggle”属性的作用为是否允许按钮可以处于按下状态,如果为true,那么用户点击该按钮时,按钮就呈现按下状态,再点击一下,又恢复正常。
  “group”属性对按钮分组,组名可以根据需要任意取名,本例为”g1”,且四个按钮group属性值都一样,均为”g1”,表明四个按钮属于同一组。分组属性一般配合toggle属性使用,在同一分组内的多个按钮,同一时刻只允许一个按钮处于”selected”状态(即按下状态)。上图中按钮2处于按下状态,一旦点击其他按钮(如按钮1)后,按钮1处于按下状态,按钮2同时复原。
  plain指定外观是否为凸起。下图中左侧按钮plain属性为true,右侧为false。
linkbutton组件plain属性效果图
  text属性指定按钮文字,如“取消”、“登陆”。
  iconCls指定图标样式,本文代码中的图标样式均为easyui框架自带。为方便查看,我们会将系统自带的图标样式做一个整理,单独一文呈现。
  iconAlign指定图标位置,默认为”left”(左侧),本文效果图中按钮的图标均在左侧。除此之外,还可以是”right”、”top”、”bottom”(分别为右侧、顶部、底部)。
  size属性指定按钮大小,只有两个值”small”和”large”,效果如下。
linkbutton组件size属性效果图

  linkbutton组件方法

方法名称 参数 描述
options 返回所有属性。
resize param 调整按钮大小。1.4及以上版本支持。
disable 禁用按钮。
enable 启用按钮。
select 使按钮处于选中状态。1.3.3及以上版本支持。
unselect 取消按钮的选中状态。1.3.3及以上版本支持。

  resize方法参数是一个json对象,含宽度和高度,layout一文有介绍。
  (http://blog.csdn.net/redeg/article/details/65443712)
  其他方法很简单,不多做介绍。
  
  linkbutton组件事件

事件名称 参数 描述
onClick 点击按钮时触发。1.3.6及以上版本支持。

  该方法已在linkbuttonDemo.php中描述,此处不赘述。另外,用户也可直接使用标签中js原生的onclick事件,效果是一样的。


推荐阅读
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了解决IE678伪类不兼容问题的方法,包括少用CSS3和HTML5独有的属性,使用CSS hacker,使用last-child清除浮动、批量添加标签、去掉list item最后一个的border-right等技巧。同时还介绍了使用after清除浮动时加上IE独有属性zoom:1的处理方法。另外,本文还提到可以使用jQuery代替批量添加标签的功能,以及使用负边距和CSS2选择器element+element去掉list item最后一个的border-right的方法。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
author-avatar
书友74972801
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有