为啥我的状态栏上的图标不能在不同的模式下改变?

Posted

技术标签:

【中文标题】为啥我的状态栏上的图标不能在不同的模式下改变?【英文标题】:why the icon on my statusbar cannot change in different mode?为什么我的状态栏上的图标不能在不同的模式下改变? 【发布时间】:2011-06-02 20:31:24 【问题描述】:

我想问一下为什么我的状态栏中的图标在点击图标时没有改变,而当我点击图标时它应该在关闭模式下改变。

<statusbar id="status-bar">
      <statusbarpanel id="inlinetrans-status-bar"
      context="inlinetransContextMenu"
      onclick="overlay.clickIcon(event)">
         <image id="inlinetransIcon" tooltip="inlinetrans versi 1.0" value="on" />
         <label value="inlinetrans" />
      </statusbarpanel>
   </statusbar>

这是我的状态栏的处理程序代码

this.toggle = function(value)

     var icon = document.getElementById("inlinetransIcon");

     icon.setAttribute("value", value);

     this.status = "enable";

     if (icon.value == "on")
     
         icon.value = "off";
         this.status = "disable";
      
      else 

       icon.value = "on";
       this.status ="enable";

      

     

编辑:

this.clickIcon = function(event)
      if (event.button == 0)
      
        //left button is clicked.
       this.toggle(value);
      
   

谢谢你的帮助..

【问题讨论】:

据我所知,图标被缓存得很厉害。 【参考方案1】:

你确定你的事件处理程序被触发了吗?

onclick 处理程序调用函数“overlay.clickIcon(...)”,而您的 javascript 定义了一个名为“toggle”的方法。

【讨论】:

是的,onclick 处理程序确实调用了overlay.clickIcon,你可以在我上面的问题中看到它,我已经编辑了..:) 谢谢你【参考方案2】:

我找到了我的问题的答案:

   this.clickIcon = function(event)
      if (event.button == 0)
      
        //left button is clicked.
      var item = document.getElementById("inlinetrans-status-bar");
        if(item.getAttribute("status") == "enabled")
          item.setAttribute("status", "disabled");
          item.setAttribute("image", "chrome://inlinetrans/skin/imagesOff.png");
      
      else
          item.setAttribute("status", "enabled");
          item.setAttribute("image", "chrome://inlinetrans/skin/imagesOn.png");
      
      
   

【讨论】:

以上是关于为啥我的状态栏上的图标不能在不同的模式下改变?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 phongap 应用程序在 android 状态栏中显示一个汉堡包图标?

快速使用标签栏上的不同图标

Android 如何在状态栏上隐藏 NotificationCompat.Builder 通知的图标?

将鼠标悬停在模式链接上时隐藏浏览器状态栏上的链接

为啥 ryzen 上的 p-state 状态 MSR 没有改变?

Lollipop 状态栏上的工具栏阴影