JQuery EasyUI Tree和tab右键菜单实现
2013-04-30 10:55
771 查看
$( function () {
// 动态菜单数据
var treeData = [{
text : "菜单",
children : [{
text : "一级菜单1",
attributes : {
url : ""
}
}, {
text : "一级菜单2",
attributes : {
url : ""
}
}, {
text : "一级菜单3",
state : "closed",
children : [{
text : "二级菜单1",
attributes : {
url : ""
}
}, {
text : "二级菜单2",
attributes : {
url : ""
}
}, {
text : "二级菜单3",
attributes : {
url : ""
}
}
]
}
]
}
];
// 实例化树形菜单
$("#tree").tree({
data : treeData,
lines : true,
onClick : function (node) {
if (node.attributes) {
Open(node.text, node.attributes.url);
}
}
});
// 在右边center区域打开菜单,新增tab
function Open(text, url) {
if ($("#tabs").tabs('exists', text)) {
$('#tabs').tabs('select', text);
} else {
$('#tabs').tabs('add', {
title : text,
closable : true,
content : text
});
}
}
// 绑定tabs的右键菜单
$("#tabs").tabs({
onContextMenu : function (e, title) {
e.preventDefault();
$('#tabsMenu').menu('show', {
left : e.pageX,
top : e.pageY
}).data("tabTitle", title);
}
});
// 实例化menu的onClick事件
$("#tabsMenu").menu({
onClick : function (item) {
CloseTab( this, item.name);
}
});
// 几个关闭事件的实现
function CloseTab(menu, type) {
var curTabTitle = $(menu).data("tabTitle");
var tabs = $("#tabs");
if (type === "close") {
tabs.tabs("close", curTabTitle);
return;
}
var allTabs = tabs.tabs("tabs");
var closeTabsTitle = [];
$.each(allTabs, function () {
var opt = $( this).panel("options");
if (opt.closable && opt.title != curTabTitle && type === "Other") {
closeTabsTitle.push(opt.title);
} else if (opt.closable && type === "All") {
closeTabsTitle.push(opt.title);
}
});
for ( var i = 0; i < closeTabsTitle.length; i++) {
tabs.tabs("close", closeTabsTitle[i]);
}
}
![](http://image59.360doc.com/DownloadImg/2013/03/0613/30737590_2.gif)
html部分:
![](http://image59.360doc.com/DownloadImg/2013/03/0613/30737590_2.gif)
<! DOCTYPE html >
< html >
< head >
< meta charset =utf-8 />
< title >JS Bin </ title >
< script class ="jsbin" src ="http://code.jquery.com/jquery-1.7.2.min.js" ></ script >
< link rel ="stylesheet" type ="text/css" href ="http://www.jeasyui.com/easyui/themes/default/easyui.css" >
< script type ="text/javascript" src ="http://www.jeasyui.com/easyui/jquery.easyui.min.js" ></ script >
<!-- [if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif] -->
< style >
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
.west{
width: 200px;
padding: 10px;
}
.north{
height: 100px;
}
</ style >
</ head >
< body class ="easyui-layout" >
< div region ="north" class ="north" title ="____′↘夏悸 http://easyui.btboys.com" >
< h1 >最简单的左右结构实现,及tab的右键菜单实现,右键查看源码 </ h1 >
</ div >
< div region ="center" title ="center" >
< div class ="easyui-tabs" fit ="true" border ="false" id ="tabs" >
< div title ="首页" ></ div >
</ div >
</ div >
< div region ="west" class ="west" title ="menu" >
< ul id ="tree" ></ ul >
</ div >
< div id ="tabsMenu" class ="easyui-menu" style ="width:120px;" >
< div name ="close" >关闭 </ div >
< div name ="Other" >关闭其他 </ div >
< div name ="All" >关闭所有 </ div >
</ div >
</ body >
![](http://image59.360doc.com/DownloadImg/2013/03/0613/30737590_2.gif)
</html>
// 动态菜单数据
var treeData = [{
text : "菜单",
children : [{
text : "一级菜单1",
attributes : {
url : ""
}
}, {
text : "一级菜单2",
attributes : {
url : ""
}
}, {
text : "一级菜单3",
state : "closed",
children : [{
text : "二级菜单1",
attributes : {
url : ""
}
}, {
text : "二级菜单2",
attributes : {
url : ""
}
}, {
text : "二级菜单3",
attributes : {
url : ""
}
}
]
}
]
}
];
// 实例化树形菜单
$("#tree").tree({
data : treeData,
lines : true,
onContextMenu: function (e, title) { e.preventDefault(); $("#tabsMenu").menu('show', { left: e.pageX, top: e.pageY }).data("tabTitle", title.text); }
onClick : function (node) {
if (node.attributes) {
Open(node.text, node.attributes.url);
}
}
});
// 在右边center区域打开菜单,新增tab
function Open(text, url) {
if ($("#tabs").tabs('exists', text)) {
$('#tabs').tabs('select', text);
} else {
$('#tabs').tabs('add', {
title : text,
closable : true,
content : text
});
}
}
// 绑定tabs的右键菜单
$("#tabs").tabs({
onContextMenu : function (e, title) {
e.preventDefault();
$('#tabsMenu').menu('show', {
left : e.pageX,
top : e.pageY
}).data("tabTitle", title);
}
});
// 实例化menu的onClick事件
$("#tabsMenu").menu({
onClick : function (item) {
CloseTab( this, item.name);
}
});
// 几个关闭事件的实现
function CloseTab(menu, type) {
var curTabTitle = $(menu).data("tabTitle");
var tabs = $("#tabs");
if (type === "close") {
tabs.tabs("close", curTabTitle);
return;
}
var allTabs = tabs.tabs("tabs");
var closeTabsTitle = [];
$.each(allTabs, function () {
var opt = $( this).panel("options");
if (opt.closable && opt.title != curTabTitle && type === "Other") {
closeTabsTitle.push(opt.title);
} else if (opt.closable && type === "All") {
closeTabsTitle.push(opt.title);
}
});
for ( var i = 0; i < closeTabsTitle.length; i++) {
tabs.tabs("close", closeTabsTitle[i]);
}
}
![](http://image59.360doc.com/DownloadImg/2013/03/0613/30737590_2.gif)
html部分:
![](http://image59.360doc.com/DownloadImg/2013/03/0613/30737590_2.gif)
<! DOCTYPE html >
< html >
< head >
< meta charset =utf-8 />
< title >JS Bin </ title >
< script class ="jsbin" src ="http://code.jquery.com/jquery-1.7.2.min.js" ></ script >
< link rel ="stylesheet" type ="text/css" href ="http://www.jeasyui.com/easyui/themes/default/easyui.css" >
< script type ="text/javascript" src ="http://www.jeasyui.com/easyui/jquery.easyui.min.js" ></ script >
<!-- [if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif] -->
< style >
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
.west{
width: 200px;
padding: 10px;
}
.north{
height: 100px;
}
</ style >
</ head >
< body class ="easyui-layout" >
< div region ="north" class ="north" title ="____′↘夏悸 http://easyui.btboys.com" >
< h1 >最简单的左右结构实现,及tab的右键菜单实现,右键查看源码 </ h1 >
</ div >
< div region ="center" title ="center" >
< div class ="easyui-tabs" fit ="true" border ="false" id ="tabs" >
< div title ="首页" ></ div >
</ div >
</ div >
< div region ="west" class ="west" title ="menu" >
< ul id ="tree" ></ ul >
</ div >
< div id ="tabsMenu" class ="easyui-menu" style ="width:120px;" >
< div name ="close" >关闭 </ div >
< div name ="Other" >关闭其他 </ div >
< div name ="All" >关闭所有 </ div >
</ div >
</ body >
![](http://image59.360doc.com/DownloadImg/2013/03/0613/30737590_2.gif)
</html>
相关文章推荐
- JQuery EasyUI Tree和tab右键菜单实现
- easyui最简单的左右布局实现,及tab的右键菜单实现
- 为jQuery-easyui的tab组件添加右键菜单功能
- easyui-tree实现及针对不同结点添加不同右键菜单
- 为jQuery-easyui的tab组件添加右键菜单功能
- 为jQuery-easyui的tab组件添加右键菜单功能的简单实例
- JQuery Easyui Tree的oncheck事件实现代码
- jQuery实现Tab菜单滚动切换的方法
- easyui layout+tab+tree实现网站基本布局
- XtraTabPage右键菜单(关闭当前页、关闭其它页、所有关闭的实现)
- jquery easyui tree实现延迟
- treeTable jquery的树表组件 java实现 Java实现树形菜单
- Jquery LigerUI框架学习(二)之Tree于Tab标签实现iframe功能
- JQuery Easyui Tree的oncheck事件实现代码
- JQuery EasyUI 最简单的左右布局实现及tab的右键菜单实现
- easyui layout+tab+tree实现网站基本布局
- jquery easyui实现树形(Tree)菜单点击,在content页生成Tab功能
- EasyUI 的Tab 标签添加右键菜单
- 为jQuery.Treeview添加右键菜单的实现代码
- jquery easyui实现树形(Tree)菜单点击,在content页生成Tab功能