使用过EasyUI的朋友想必都知道疯狂秀才写的后台界面吧,作为一个初学者我不敢妄自评论它的好坏,不过它确实给我们提供了一个很好框架,只要在它的基础上进行修改,基本上都可以满足我们开发的需要。

知道“疯狂秀才”写的后台界面已经有一段时间了,直到昨天才好好的研究了一下。在测试的过程中,我发现了一个自认为不友好的地方,举个例子:只剩下一个Tab选项卡时,点击“除此之外全部关闭”,接着会弹出两个提示框,提示“后边没有了~~”和“到头了前边没有了~~”。我平时经常使用VS作为开发工具,使用VS的朋友也会注意到,当只有一个页面打开时,右击“Close All But This”是变灰不可用的,我感觉这样更加的人性化。于是,我就试着实现这一功能。“疯狂秀才”给加了注释,所以在研究代码的时候很方便,在这里真的感谢“疯狂秀才”所做的工作。在“outlook2.js”这个文件中有一个函数“tabClose()”,里面清清楚楚的加了这样一条注释 /*为选项卡绑定右键*/。我看到这里就高兴了,要实现我的功能就是在这里面了。

首先,实现“除此之外全部关闭”变灰不可用。

当只打开一个Tab选项卡时,右键菜单里“除此之外全部关闭”就应该变灰不可用,这样可以提示用户没有除这一个选项卡没有其他的选项卡了。程序实现很简单了,只要获得打开Tab选项卡的个数,如果个数为1,那么就把“除此之外全部关闭”变灰不可用就行了。

var tabcount = $('#tabs').tabs('tabs').length; //tab选项卡的个数if (tabcount <= 1) {$('#mm-tabcloseother').attr("disabled", "disabled").css({ "cursor": "default", "opacity": "0.4" });}else {$('#mm-tabcloseother').removeAttr("disabled").css({ "cursor": "pointer", "opacity": "1" });}

说明:在Firfox,Google,Opera浏览器里,“disabled”的属性不起作用,所以我加了一个CSS样式,设置了一下它的透明度使它变灰。

第二,实现“当前页右侧全部关闭”变灰不可用。

当一个Tab选项卡的右侧没有选项卡的时候,这个Tab选项卡就应该变灰不可用。程序实现也不难,只要获得最后一个Tab选项卡的标题和当前右键菜单所在的Tab选项卡的标题进行比较,如果一致,就把“当前页右侧全部关闭”变灰不可用。

var tabs = $('#tabs').tabs('tabs');     //获得所有的Tab选项卡
var tabcount = tabs.length;  //Tab选项卡的个数
var lasttab = tabs[tabcount - 1];  //获得最后一个Tab选项卡
var lasttitle = lasttab.panel('options').tab.text(); //最后一个Tab选项卡的Title
var currtab_title = $('#mm').data("currtab");  //当前Tab选项卡的Titleif (lasttitle == currtab_title) {$('#mm-tabcloseright').attr("disabled", "disabled").css({ "cursor": "default", "opacity": "0.4" });}else {$('#mm-tabcloseright').removeAttr("disabled").css({ "cursor": "pointer", "opacity": "1" });}

第三,实现“当前页左侧全部关闭”变灰不可用。

这个跟第二个相反就行了,获得第一个Tab选项卡的标题和当前Tab选项卡的标题进行比较。

var onetab = tabs[0];  //第一个Tab选项卡
var onetitle = onetab.panel('options').tab.text();  //第一个Tab选项卡的Titleif (onetitle == currtab_title) {$('#mm-tabcloseleft').attr("disabled", "disabled").css({ "cursor": "default", "opacity": "0.4" });}else {$('#mm-tabcloseleft').removeAttr("disabled").css({ "cursor": "pointer", "opacity": "1" });}

最后,实现的效果如下图

上面实现了三种情况下的变灰不可用的效果,当鼠标放到上面点击,右键菜单就会消失,其实解决的办法也很简单,只要在对应的单击事件里重新绑定右键菜单即可,这里就不给出代码了。

via:http://www.cnblogs.com/nianming/archive/2011/07/25/2116146.html

EasyUI-右键菜单变灰不可用效果相关推荐

  1. 使按钮变灰不可用方法

    按钮变灰不可用方法: document.getElementById("ID").setAttribute("disabled", true); ID为元素的具 ...

  2. 很多网站、APP 前段时间一下都变灰了。 先来感受一下变灰后的效果。

    很多网站.APP 前段时间一下都变灰了. 先来感受一下变灰后的效果. 这种灰色的效果怎么实现的呢?如何做到图片.文字.按钮都变灰的效果呢? 方案 1,换一套灰色的 UI,那显然成本太大了,用脚指头想一 ...

  3. 右键菜单变窄-桌面右键取消pycharm

    右键菜单变宽,是因为右键菜单中的项目,其中有一个或者几个项目名称太长了,右键菜单为了能完全显示出该菜单的名称文字,所以变宽了,删除最长的菜单名称,右键菜单就变窄了 运行regedit注册表: 搜索以下 ...

  4. 将Win11右键菜单变回Win10风格

    将Win11右键菜单变回Win10风格 视频链接:无需第三方软件,一行代码将Win11右键菜单变回Win10风格 开启旧版右键菜单: reg add "HKCU\Software\Class ...

  5. 取消wps右键菜单_让右键菜单变简洁高效!

    软件安装得越来越多 可能会在右键添加许多项目 这就会让右键菜单繁多炫目 比如说下面这个右键菜单: 接下来推荐几款软件,用于优化右键菜单 不仅简洁而且高效,做减法也做加法 一.火绒右键管理 工具分为三大 ...

  6. 右键菜单变宽了的原因及解决办法

    问题描述:新电脑安装了软件后,发现右键菜单太宽了,看起来很不协调,作为强迫症患者根本受不了 解决办法:在安装的时候不要选择Add lauchers dir to the PATH 就行了,看看你装的软 ...

  7. 用EnableMenuItem不能使菜单变灰的原因

    为何不能Disable菜单项     问:我有一个工具button在WM_COMMAND消息是这样做的:         CMenu   *pMenu   =   GetMenu();     pMe ...

  8. 关于电脑注册表regedit自定义管理右键菜单选项实例(删除增加)

    前言:删除电脑多余右键菜单的具体操作 所有关于电脑的操作都可以通过修改注册表来实现.而随着电脑软件的安装,本就为方便人们操作的右键菜单变的愈来愈臃肿.但我们可以自定义管理大多数右键菜单,这篇帖子就是为 ...

  9. windows右键菜单大揭密

    在Windows系统中,只要对着桌面或是文件(夹)单击右键,就会弹出一个快捷菜单,里面有对该文件(夹)的一些常用操作命令,通过右键菜单,可以方便用户对文件的某些操作.不知道你是否对它感兴趣?是否想对它 ...

最新文章

  1. 通信保障:世博会看不到的展品
  2. ASP.NET网页显示LED字体
  3. 北斗导航 | 多GNSS系统PPP-RTK原型系统及性能分析(2020 CPGPS全球华人导航定位协会年会)
  4. Linux云服务器安装JDK详细步骤
  5. SAP 电商云 FooterNavigationComponent 的设计细节
  6. 盘点关于IDEA的几个调试的实用技巧
  7. 用信号量解决进程的同步与互斥
  8. 贪心---leetcode-376摆动序列
  9. 点点文刊 -- 记录生活的色彩
  10. python-模拟property
  11. linux 基本配置tab键和显示行号 和中文输入法
  12. socket套接字TCP API
  13. python将十进制转为二进制_如何用Python将十进制数字转为二进制,以及将二进制转为十六进制?...
  14. Unity使用自定义资源(.asset)配置数据
  15. Oracle-数据库
  16. 最简单的OSPF配置实验(Cisco路由器)
  17. 给机器人罗宾写一封英语回信_英语作文回信范文英语回信范文
  18. 【Unity】游戏开发过程中的前后台切换技术
  19. 宁芝84静电容(蓝牙双模)键盘说明书
  20. Java智能卡基础篇

热门文章

  1. linux udhcpc指令,dhcpclient和udhcpc区别和用法
  2. 数据库性能分析mysql_mysql数据库的性能优化分析
  3. js如何在当前页面加载springmvc返回的页面_手写SpringMVC学习
  4. python函数后面两个括号_简单了解为什么python函数后有多个括号
  5. php文本文件操作,文本文件操作的php类
  6. python爬取百度文库_利用Python语言轻松爬取数据
  7. ubuntu19 安装git_在Ubuntu 18.04上安装Git
  8. vue 安装 less_解决旧Vue项目升级less-loader 6.0.0报错
  9. Springboot源码——应用程序上下文分析
  10. java程序面向对象show,20165309 实验二 Java面向对象程序设计