EasyUI Menu 菜单和按钮

本文深入解析EasyUI框架中的四个核心组件:菜单(Menu)、链接按钮(Linkbutton)、菜单按钮(Menubutton)和分割按钮(Splitbutton)。详细介绍各组件的属性、事件、方法及其使用示例,帮助开发者快速掌握并应用这些组件。
摘要由CSDN通过智能技术生成

 

一、EasyUI Menu 菜单:  http://www.jeasyui.net/plugins/163.html

菜单(Menu)通常用于上下文菜单。它是创建其他菜单组件(比如:menubutton、splitbutton)的基础组件。它也能用于导航和执行命令

菜单项

菜单项(menu item)代表一个显示在菜单中的单独的项目。它包含下列属性:

名称类型描述默认值
idstring菜单项(menu item)的 id 属性。 
textstring项目文本。 
iconClsstring在项目左边显示一个 16x16 图标的 CSS class。 
hrefstring当点击菜单项(menu item)时设置页面位置。 
disabledboolean定义是否禁用菜单项(menu item)。false
onclickfunction当点击菜单项(menu item)时被调用的函数。 

菜单属性

名称类型描述默认值
zIndexnumber菜单(Menu)的 z-index 样式,从它开始增加。110000
leftnumber菜单(Menu)的左边位置。0
topnumber菜单(Menu)的顶部位置。0
minWidthnumber菜单(Menu)的最小宽度。该属性自版本 1.3.2 起可用。120
hideOnUnhoverboolean如果设置为 true,当鼠标离开它时自动隐藏菜单(menu)。该属性自版本 1.3.5 起可用。true

菜单事件

名称参数描述
onShownone当菜单(menu)显示之后触发。
onHidenone当菜单(menu)隐藏之后触发。
onClickitem当点击菜单项(menu item)时触发。下面的实例演示如何处理所有菜单项点击:
 
  1. <div class="easyui-menu" data-options="onClick:menuHandler" style="width:120px;">
  2. <div data-options="name:'new'">New</div>
  3. <div data-options="name:'save',iconCls:'icon-save'">Save</div>
  4. <div data-options="name:'print',iconCls:'icon-print'">Print</div>
  5. <div class="menu-sep"></div>
  6. <div data-options="name:'exit'">Exit</div>
  7. </div>
  8. <script type="text/javascript">
  9. function menuHandler(item){
  10. alert(item.name)
  11. }
  12. </script>

菜单方法

名称参数描述
optionsnone返回选项(options)对象。
showpos在指定的位置显示菜单(menu)。
pos 参数有两个属性:
left:新的左边位置。
top:新的顶部位置。
hidenone隐藏菜单(menu)。
destroynone销毁菜单(menu)。
getItemitemEl获取包含 'target' 属性(指示项目 DOM 元素)的菜单项(menu item)属性。下面的实例演示如何通过 id 获取指定的项目:
 
  1. <div id="mm" class="easyui-menu" style="width:120px">
  2. <div>New</div>
  3. <div id="m-open">Open</div>
  4. <div>Save</div>
  5. </div>
  6.  
  7. var itemEl = $('#m-open')[0]; // the menu item element
  8. var item = $('#mm').menu('getItem', itemEl);
  9. console.log(item);
setTextparam给指定的菜单项(menu item)设置文本。'param' 参数包含两个属性:
target:DOM 对象,被设定的菜单项(menu item)。
text:string,新的文本值。

代码实例:
 
  1. var item = $('#mm').menu('findItem', 'Save');
  2. $('#mm').menu('setText', {
  3. target: item.target,
  4. text: 'Saving'
  5. });
setIconparam给指定的菜单项(menu item)设置图标。'param' 参数包含两个属性:
target:DOM 对象,即菜单项(menu item)。
iconCls:新图标的 CSS class。

代码实例:
 
  1. $('#mm').menu('setIcon', {
  2. target: $('#m-open')[0],
  3. iconCls: 'icon-closed'
  4. });
findItemtext找到指定的菜单项(menu item),返回对象与 getItem 方法相同。
代码实例:
 
  1. // find 'Open' item and disable it
  2. var item = $('#mm').menu('findItem', 'Open');
  3. $('#mm').menu('disableItem', item.target);
appendItemoptions追加一个新的菜单项(menu item),'param' 参数指示新的项目属性。默认情况下,新增的项目将作为顶级菜单项(menu item)。如需追加一个子菜单项,需设置 'parent' 属性,用来指示已经有子项目的父项目元素。
代码实例:
 
  1. // append a top menu item
  2. $('#mm').menu('appendItem', {
  3. text: 'New Item',
  4. iconCls: 'icon-ok',
  5. onclick: function(){alert('New Item')}
  6. });
  7. // append a menu separator
  8. $('#mm').menu('appendItem', {
  9. separator: true
  10. });
  11. // append a sub menu item
  12. var item = $('#mm').menu('findItem', 'Open'); // find 'Open' item
  13. $('#mm').menu('appendItem', {
  14. parent: item.target, // the parent item element
  15. text: 'Open Excel',
  16. iconCls: 'icon-excel',
  17. onclick: function(){alert('Open Excel')}
  18. });
removeItemitemEl移除指定的菜单项(menu item)。
enableItemitemEl启用菜单项(menu item)。
disableItemitemEl禁用菜单项(menu item)。

 

1. 基本右键菜单和菜单事件: e.preventDefault(); //禁用浏览器本身的右键菜单

	<div id="mm" class="easyui-menu" style="width: 120px;">
		<div data-options="name:'new'">New</div>
		<div>
			<span>Open</span>
			<div style="width: 150px;">
				<div><b>Word</b></div>
				<div>Excel</div>
				<div>PowerPoint</div>
			</div>
		</div>
		<div data-options="iconCls:'icon-save'">Save</div>
		<div class="menu-sep"></div>
		<div>Exit</div>
	</div>

--index.js--
$(function(){	
	$(document).bind("contextmenu",function(e){
		e.preventDefault(); //禁用浏览器本身的右键菜单
		//显示自定义的右键菜单
		$("#mm").menu("show",{
			//设置显示的位置
			left: e.pageX,
			top: e.pageY,
			//当点击菜单项(menu item)时被调用的函数。
			onClick: function(item){
				if(item.name=="new"){
					alert("点击了" + item.name);
				}else{
					alert("点击了其他");
				}
			}
		});
	});
	
});

    

 

 二、EasyUI Linkbutton 链接按钮: http://www.jeasyui.net/plugins/187.html

链接按钮(linkbutton)用于创建一个超链接按钮。它是一个正常的 <a> 标记的表示。它可显示图标和文本,或者仅仅显示图标和文本中的一个。按钮宽度可动态收缩/扩展以适应其文本标签。

1、基本链接按钮使用:

	<a id="baidu" href="https://www.baidu.com" data-options="iconCls:'icon-search'">链接按钮</a>
	<a id="add" href="javascript:void(0)" data-options="iconCls:'icon-add'">链接按钮</a>
--index.js--
$(function(){	
	$("#baidu").linkbutton();
	$("#add").linkbutton();
	$("#add").on("click",function(){
		alert("add按钮");
	});
	
});

  

 

三、EasyUI Menubutton 菜单按钮:

菜单按钮(menubutton)是下拉菜单的一部分。它与链接按钮(linkbutton)及菜单(menu)有关。显示链接按钮(linkbutton),隐藏菜单(menu)。当用户点击或移动鼠标到链接按钮(linkbutton)上时,将显示菜单(menu)以允许用户点击菜单。

1、基本菜单按钮使用:

	<a href="javascript:void(0)" id="mb" data-options="menu:'#mm',iconCls:'icon-edit'">Edit</a>
	<div id="mm" style="width: 150px;">
		<div data-options="name:'undo',iconCls:'icon-undo'">Undo</div>
		<div data-options="iconCls:'icon-redo'">Redo</div>
		<div class="menu-sep"></div>
		<div>Cut</div>
		<div>Copy</div>
		<div>Paste</div>
		<div class="menu-sep"></div>
		<div data-options="iconCls:'icon-remove'">Delete</div>
		<div>Select All</div>
	</div>
--index.js--
$(function(){	
	$("#mb").menubutton();
	//给菜单按钮绑定点击事件
	$("#mm").menu({
		onClick: function(item){
			if(item.name=='undo'){
				alert("点击了按钮" +item.name);
			}
		}	
	});
	
});

       

 

四、EasyUI Splitbutton 分割按钮

与菜单按钮(menubutton)相似,分割按钮(splitbutton)也与链接按钮(linkbutton)及菜单(menu)有关。与菜单按钮(menubutton)不同的是,分割按钮(splitbutton)被分割为两部分。当移动鼠标到分割按钮(splitbutton)上时,将显示一条分割线。只有当移动鼠标在分割按钮的右侧部分时才显示菜单(menu)。 

1、基本分割按钮使用:

      同上 把 $("#mb").menubutton(); 改为 $("#mb").splitbutton(); 即可。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值