01.easyuiについてtabsタブを右クリックで閉じる機能を実現
4077 ワード
js部分
html
/*
* table
*/
$("#tabs").tabs({
//
onContextMenu: function(e, title, index){
//
// tab
e.preventDefault();
var mm = $("#tabsmenu");
//
mm.menu("show",{
top: e.pageY,
left: e.pageX
}).data("tabTitle",title);
//
mm.menu({
onClick: function(item){
closeTab(this, item.name);
}
});
}
});
/*
* tabs
*/
function closeTab(menu, type){
//
var allTabs = $("#tabs").tabs("tabs");
var allTabTitle = [];
// console.log(allTabs); dom
$.each(allTabs, function(i, n){
// console.log(n); tabs jQuery
// options
var opt = $(n).panel("options");
if(opt.closable){//
//
allTabTitle.push(opt.title);
}
});
//
var curTabTitle = $(menu).data("tabTitle");
switch(type){
case 1:
// --
$("#tabs").tabs("close", curTabTitle);
return false;
break;
case 2:
//
for(var i = 0; i < allTabTitle.length; i++){
if(curTabTitle != allTabTitle[i]){
$("#tabs").tabs("close",allTabTitle[i]);
}
}
// ,
$("#tabs").tabs("select",curTabTitle);
break;
case 3:
//
for(var i = 0; i < allTabTitle.length; i++){
// ,
if(curTabTitle == allTabTitle[i]){// , , ,
// ,
for (var j = i + 1; j < allTabTitle.length; j++) {
// i+1 , ,
$("#tabs").tabs("close",allTabTitle[j]);// i+1
}
}
}
break;
case 4:
//
for(var i = 0; i < allTabTitle.length; i++){
// ,
if(curTabTitle == allTabTitle[i]){// , , ,
// ,
for (var j = 0; j < i; j++) {// 0 , i-1
// , j i
$("#tabs").tabs("close",allTabTitle[j]);// i+1
}
}
}
break;
case 5:
//
for(var i = 0; i < allTabTitle.length; i++){
$("#tabs").tabs("close",allTabTitle[i]);
}
break;
}
}
});
html
--%>
Title