Javascript 为什么我的状态栏上的图标不能在不同模式下更改?
我想问一下,为什么我的状态栏中的图标在点击图标时没有改变,而当我点击图标时,它应该在关闭模式下改变Javascript 为什么我的状态栏上的图标不能在不同模式下更改?,javascript,firefox-addon,xul,toggle,statusbar,Javascript,Firefox Addon,Xul,Toggle,Statusbar,我想问一下,为什么我的状态栏中的图标在点击图标时没有改变,而当我点击图标时,它应该在关闭模式下改变 <statusbar id="status-bar"> <statusbarpanel id="inlinetrans-status-bar" context="inlinetransContextMenu" onclick="overlay.clickIcon(event)"> <image id="inline
<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.clickIcon = function(event){
if (event.button == 0)
{
//left button is clicked.
this.toggle(value);
}
}
感谢您的帮助。您确定已触发事件处理程序吗
onclick处理程序调用函数“overlay.clickIcon(…)”,而javascript定义了一个名为“toggle”的方法。我找到了问题的答案:
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");
}
}
}
据我所知,图标缓存非常困难。是的,onclick处理程序调用overlay是真的。单击图标,你可以在我上面的问题中看到它,我已经编辑了..:)thamk you
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");
}
}
}