ExtJs4 笔记(5) Ext.Button 按钮

时间:2022-01-10 06:49:52
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]

    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]

    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]

    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]

    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]

   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'}]
}]
});

ExtJs4 笔记(5) Ext.Button 按钮的更多相关文章

  1. &lbrack;转载&rsqb;ExtJs4 笔记(5) Ext&period;Button 按钮

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

  2. 89&period; Ext&period;Button 按钮

    转自:http://www.cnblogs.com/lipan/archive/2011/12/13/2274797.html 从本篇开始讲基础控件,ExtJs对所有的UI控件都有它自己的一套封装.本 ...

  3. ExtJs4 笔记(4) Ext&period;XTemplate 模板

    ExtJs4 笔记(4) Ext.XTemplate 模板 摘自:http://www.cnblogs.com/lipan/ 本篇将涉及到ExtJs中一个重要的概念,模板.话说Razor很神奇,但是我 ...

  4. &lbrack;转载&rsqb;ExtJs4 笔记(7) Ext&period;tip&period;ToolTip 提示

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

  5. &lbrack;转载&rsqb;ExtJs4 笔记(3) Ext&period;Ajax 对ajax的支持

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)     本篇主要介绍一下ExtJs常用的几个对JS语法的扩展支持,包括Ajax封装,函数事 ...

  6. ExtJs4 笔记(7) Ext&period;tip&period;ToolTip 提示

    本篇介绍提示控件,ExtJs支持两种方式定义提示,可以支持普通html元素和一般的ExtJs UI控件. 一.基本提示 Ext.tip.ToolTip 1.最简单的提示 下面通过代码定义一个最简单的提 ...

  7. ExtJs4 笔记(3) Ext&period;Ajax 对ajax的支持

    本篇主要介绍一下ExtJs常用的几个对JS语法的扩展支持,包括Ajax封装,函数事件操作封装,还有扩展的常用函数等.Ajax服务端交互式操作是提交到.NET MVC.后续服务端交互都采用这一方式实现. ...

  8. Extjs&period;Button 按钮

    Extjs  Button 的简单使用 ,同时调用Ajax服务 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xh ...

  9. ExtJs4 笔记(14) layout 布局

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

随机推荐

  1. 1&period;SQL语句入门

    --SQL语句入门-- --1.sql语言是解释语言 --2.它不区分大小写 --3.没有"",所有字符或者字符串都使用''包含 --4.sql里面也有类似于c#的运算符 -- 算 ...

  2. fatal error&colon; Invalid layout of preloaded class

    今天很奇怪,在java类中写一个单纯的main函数,打印一句话竟然出不来,后来各种资料找,终于知道解决的方法了,如下 错误截图: 解决方法: (1)选中你要运行的那个类,点击上方的project--p ...

  3. Java 对象内存分配与回收

    JVM内存区域模型: * 程序计数器,内存区域极小,是当前线程的字节码执行行号指示器: * 虚拟机栈.本地方法栈,即平时所说的“栈”,是虚拟机用来执行方法(包括Java.非Java方法)时,使用的临时 ...

  4. python--基本数据 类型

    数据就是我们变量的值:python中变量保存的是内存地址 变量必须先赋值或者声明才能使用!! 1.数值型 整型 int (python3中int就是长整型,与python2中int不同,另外,pyth ...

  5. django 关于视频播放

    django实现视频播放并适配主流浏览器,应用比较广泛的就是videojs了. videojs: <head> <link href="http://vjs.zencdn. ...

  6. C&plus;&plus;中的内存区域及其性能特征

    首先须要指出的是.我们通经常使用"堆"和"*存储"这两个术语来区分两种不同类型的动态分配内存. 1.常量数据:常量数据区域主要用于存储字符串以及其它在编译期就 ...

  7. Java虚拟机的组成

    Java虚拟机主要分为以下五个区: 一.方法区: 1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载 2. 方法区主要用 ...

  8. 【Eclipse】如何在Eclipse中如何自动添加注释和自定义注释风格

    背景简介 丰富的注释和良好的代码规范,对于代码的阅读性和可维护性起着至关重要的作用.几乎每个公司对这的要求还是比较严格的,往往会形成自己的一套编码规范.但是再实施过程中,如果全靠手动完成,不仅效率低下 ...

  9. 个人犯的一个golang routine错误

    这个其实不是错误,2个写法没有区别.-2015.11.22 认识golang也不少时间了,也做过几个项目.最近发现之前用golang写的一个服务,内存涨得比较快,一直没找出来原因来.今天把疑惑发到群里 ...

  10. 解决qpidd服务安装不上的问题

    前几天对一个文件夹命名,忘记了qpidd的路径在这个文件夹的下面,导致后来qpidd用不了. 并且有打开计算机-管理-服务时,看到Advanced MessageQueuing Protocol 未启 ...