2011-01-03 7 views
1

Ich möchte fragen, warum sich das Symbol in meiner Statusleiste nicht ändert, wenn das Symbol klickte, wo es sich im Aus-Modus ändern sollte, wenn ich auf das Symbol klicke.Warum kann das Symbol in meiner Statusleiste nicht in einem anderen Modus geändert werden?

<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> 

dies ist der Handler-Code meiner 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"; 

     } 

    } 

bearbeitet:

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

danken Ihnen für Ihre Hilfe ..

+0

Soweit ich das Symbol weiß sehr hart zwischengespeichert wird. – powtac

Antwort

0

Ich habe die Antwort auf Ihre Frage gefunden:

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"); 
     } 
     } 
    } 
0

Sind Sie sicher, dass Ihr Event-Handler ausgelöst ?

Der onclick-Handler ruft die Funktion "overlay.clickIcon (...)" auf, während Ihr JavaScript eine Methode namens "toggle" definiert.

+0

Ja ist es wahr, dass onclick Handler overlay.clickIcon aufruft, Sie können es bei meiner Frage oben sehen, ich habe bearbeitet .. :) thamk Sie – user495688