1. 程式人生 > >EasyUI Menu 選單和按鈕

EasyUI Menu 選單和按鈕

選單(Menu)通常用於上下文選單。它是建立其他選單元件(比如:menubutton、splitbutton)的基礎元件。它也能用於導航和執行命令

選單項

選單項(menu item)代表一個顯示在選單中的單獨的專案。它包含下列屬性:

名稱 型別 描述 預設值
id string 選單項(menu item)的 id 屬性。
text string 專案文字。
iconCls string 在專案左邊顯示一個 16x16 圖示的 CSS class。
href string 當點選選單項(menu item)時設定頁面位置。
disabled boolean 定義是否禁用選單項(menu item)。 false
onclick function 當點選選單項(menu item)時被呼叫的函式。

選單屬性

名稱 型別 描述 預設值
zIndex number 選單(Menu)的 z-index 樣式,從它開始增加。 110000
left number 選單(Menu)的左邊位置。 0
top number 選單(Menu)的頂部位置。 0
minWidth number 選單(Menu)的最小寬度。該屬性自版本 1.3.2 起可用。 120
hideOnUnhover boolean 如果設定為 true,當滑鼠離開它時自動隱藏選單(menu)。該屬性自版本 1.3.5 起可用。 true

選單事件

名稱 引數 描述
onShow none 當選單(menu)顯示之後觸發。
onHide none 當選單(menu)隱藏之後觸發。
onClick item 當點選選單項(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>

選單方法

名稱 引數 描述
options none 返回選項(options)物件。
show pos 在指定的位置顯示選單(menu)。 pos 引數有兩個屬性: left:新的左邊位置。 top:新的頂部位置。
hide none 隱藏選單(menu)。
destroy none 銷燬選單(menu)。
getItem itemEl 獲取包含 '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. var itemEl = $('#m-open')[0]; // the menu item element
  7. var item = $('#mm').menu('getItem', itemEl);
  8. console.log(item);
setText param 給指定的選單項(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. });
setIcon param 給指定的選單項(menu item)設定圖示。'param' 引數包含兩個屬性: target:DOM 物件,即選單項(menu item)。 iconCls:新圖示的 CSS class。 程式碼例項:
  1. $('#mm').menu('setIcon', {
  2. target: $('#m-open')[0],
  3. iconCls: 'icon-closed'
  4. });
findItem text 找到指定的選單項(menu item),返回物件與 getItem 方法相同。 程式碼例項:
  1. // find 'Open' item and disable it
  2. var item = $('#mm').menu('findItem', 'Open');
  3. $('#mm').menu('disableItem', item.target);
appendItem options 追加一個新的選單項(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. });
removeItem itemEl 移除指定的選單項(menu item)。
enableItem itemEl 啟用選單項(menu item)。
disableItem itemEl 禁用選單項(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("點選了其他");
				}
			}
		});
	});
	
});

    

連結按鈕(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(); 即可。