为啥我的状态栏上的图标不能在不同的模式下改变?
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 通知的图标?