89. Ext.Button 按钮
转自:http://www.cnblogs.com/lipan/archive/2011/12/13/2274797.html
从本篇开始讲基础控件,ExtJs对所有的UI控件都有它自己的一套封装。本篇要讲到的是ExtJs的按钮。主要包括按钮事件、带分割线、带图标、带菜单的按钮,下拉选项式按钮和按钮组合等。我们先看看效果图:
预览

如下是用到的html:
[html]
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<h1> 三种方式实现事件:</h1><div id="div1" class="content"> <ul> <li id="li1"></li> <li id="li2"></li> <li id="li3"></li> </ul></div><h1> 带图标菜单:</h1><div id="div2" class="content"></div><h1> 带分割线的按钮</h1><div id="div3" class="content"></div><h1> 菜单式按钮</h1><div id="div4" class="content"></div><h1> 按钮组合</h1><div id="div5" class="content"></div> |
一、基本按钮,三种方式实现按钮事件
这里介绍了最基本的按钮生成代码,第一个按钮具备弹起和按下两种状态,三个按钮分别别设置成三种大小。每个按钮的单击事件都是通过一种新的实现方式。下面看看Js代码:
[Js]
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
Ext.create("Ext.Button", { renderTo: Ext.get("li1"), text: "事件实现1", allowDepress: true, //是否允许按钮被按下的状态 enableToggle: true, //是否允许按钮在弹起和按下两种状态中切换 handler: function () { Ext.Msg.alert("提示", "第一个事件"); }, id: "bt1"});Ext.create("Ext.Button", { renderTo: Ext.get("li2"), text: "事件实现2", listeners: { "click": function () { Ext.Msg.alert("提示", "第二个事件"); } }, id: "bt2", scale: 'medium'});var bt3 = Ext.create("Ext.Button", { renderTo: Ext.get("li3").dom, text: "事件实现3", id: "bt3", scale: 'large'});bt3.on("click", function () { Ext.Msg.alert("提示", "第三个事件");}); |
二、带图标菜单
按钮可以带图标和菜单,我们可以在配置项里面配置:
[Js]
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
Ext.create("Ext.Button", { renderTo: Ext.get("div2"), id: "bt4", text: "带菜单带图标", iconCls: "add16", menu: { items: [ { text: '选项1' }, { text: '选项2' }, { text: '选项3', handler: function () { Ext.Msg.alert("提示", "来自菜单的消息"); } } ] }}).showMenu();Ext.create("Ext.Button", { renderTo: Ext.get("div2"), id: "bt5", text: "上图标下菜单", iconCls: "add16", iconAlign: 'top', menu: { items: [ { text: '选项1' }, { text: '选项2' }, { text: '选项3', handler: function () { Ext.Msg.alert("提示", "来自菜单的消息"); } } ] }, arrowAlign: 'bottom'}); |
三、带分割线的按钮
注意的地方:分割线的按钮来自于类Ext.SplitButton
[Js]
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
Ext.create("Ext.button.Split", { renderTo: Ext.get("div3"), text: "右图标下菜单", iconCls: "add16", iconAlign: 'right', menu: { items: [ { text: '选项1' }, { text: '选项2' }, { text: '选项3', handler: function () { Ext.Msg.alert("提示", "来自菜单的消息"); } } ] }, arrowAlign: 'bottom'}); |
四、菜单式按钮
按钮式菜单Ext.CycleButton与下拉不同的是,它具备选中状态,当选中下拉项时,选中文本会相应变化。
[Js]
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
Ext.create('Ext.button.Cycle', { renderTo: Ext.get("div4"), showText: true, prependText: '请选择:', menu: { items: [{ text: '选项1', checked: true }, { text: '选项2' }, { text: '选项3' }] }, changeHandler: function (btn, item) { Ext.Msg.alert('修改选择', item.text); }}); |
四、按钮组合
定义了一组按钮,并可以控制按钮排版。
[Js]
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
Ext.create("Ext.ButtonGroup",{ renderTo: Ext.get("div5"), title: "按钮组合", columns: 3, //defaultType:'splitbutton', items: [{ text: '按钮1', iconCls: 'add16', scale: 'large', rowspan: 2 }, { text: '按钮2', iconCls: 'add16', rowspan: 2, scale: 'large' }, { text: '按钮3', iconCls: 'add16' }, { xtype: 'splitbutton', text: '分割线按钮', iconCls: 'add16', menu: [{ text: '菜单1'}] }] }); |
89. Ext.Button 按钮的更多相关文章
- [转载]ExtJs4 笔记(5) Ext.Button 按钮
作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...
- ExtJs4 笔记(5) Ext.Button 按钮
id="li2"></li> <li id="li3"></li> </ul> </div> ...
- Extjs.Button 按钮
Extjs Button 的简单使用 ,同时调用Ajax服务 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xh ...
- ext button 属性
var buttonName = new Ext.Button({ id:"buttonName", text:" ...
- button 按钮,结合onclick事件,验证和提交表单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 如何在MFC界面开发中响应Button按钮的Down和Up事件
通过尝试有两种方案可以解决这个问题,第一种方案是通过PreTranslateMessage函数在调度消息之前对消息类型进行筛选,第二种方案是重载CButton类,在重载后的类CForTestButto ...
- 遭遇input与button按钮背景图失效不显示的解决办法
笔者从事网页前端代码页面工程师已有多年,作为一个网页重构人员常常会遇到一些莫名其妙的DIV+CSS(正确的说法是XHTML+CSS)在 IE.FireFox火狐. 谷歌浏览器CHROME.苹果浏览器S ...
- button按钮
button按钮只加类名不加type时,点击此按钮页面会刷新
- Unity3D NGUI 给button按钮添加单间事件
Unity3D中, NGUI 给button按钮添加单间事件的方法很多,在这里只给推荐一种比较常用的方法. 推荐方法:使用UIListener. 1.给button组价添加上UIListener.选择 ...
随机推荐
- IE bug集锦
ie8 iframe 不显示 问题描述: IE8的非兼容模式下(兼容模式是ie7,不存在),iframe会不显示: 可以通过Ctrl+A全选或者是调整窗口大小显示出来. 解决办法: 这是由于要显示的i ...
- SPPNet论文翻译-空间金字塔池化Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
http://www.dengfanxin.cn/?p=403 原文地址 我对物体检测的一篇重要著作SPPNet的论文的主要部分进行了翻译工作.SPPNet的初衷非常明晰,就是希望网络对输入的尺寸更加 ...
- Escaping Closures 两点:本质是生命周期标示符
1.block需要(拷贝)保存: 2.block引用的环境变量需要处理. 相当于oc中的copy block. Escaping Closures A closure is said to escap ...
- sratookit
sratookit 下载后解压 tar -zxvf sratoolkit.2.8.2-1-ubuntu64.tar.gz 移动到专门安装生物信息软件的目录下 mv sratoolkit.2.8.2-1 ...
- python 获取本机环境信息
一.函数 1.socket.gethostname():不带任何参数,返回一个字符串(主机名),通常不完整.比如csm.example.com 只会返回csm 2.socket.getfqdn():带 ...
- JAVA学习总结-常用数据结构
java中集合框架其实就是数据结构的实现的封装; 参考资料:任小龙教学视频 1,什么是数据结构? 数据结构是计算机存储,组织数据的方式; 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合; ...
- Linux:SSH连接原理
1,SSH开启 2,执行:ssh username@ip地址 例如ssh root@10.1.1.1 3,查看cat ./ssh/kown_hosts 里面就保存了10.1.1.1的公钥了 4,对比一 ...
- 基于Composer的Laravel扩展包开发工作流
使用场景 在引用第三方包的时候,对第三方包有改动需求,需要将代码放在自己的仓库:并且自己的其他项目也有需求引用自定义的第三方包:甚至自己会发布修改后的第三方包: 读完本文你讲获得: Git Submo ...
- hadoop-磁盘出现坏盘,如何能在线换盘
涉及到磁盘存储路径的配置文件参数有: hdfs-site.xml <name>dfs.datanode.data.dir</name> yarn-site.xml <na ...
- [TS-A1487][2013中国国家集训队第二次作业]分配游戏[二分]
根据题意,设$3n$次比较中胜了$w$次,负了$l$次,平了$d$次,所有场次中胜了$W$次,负了$L$次,平了$D$次.如果一场赢了,那么$w-l$就会$+1$,相同地,$W-L$也会$+1$:如果 ...