OpenLayers OpenLayers

Changeset 1314

Show
Ignore:
Timestamp:
08/19/06 11:01:58 (2 years ago)
Author:
crschmidt
Message:

Let's trap all these events. Tested by bitner on IRC in IE (thanks!) and works
in FF on Mac. Hopefully this works! this is my major blocker for RC2, a
few more minor changes and i'll kick it out.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/openlayers/2.0/lib/OpenLayers/Control/LayerSwitcher.js

    r1305 r1314  
    121121            inputElem.checked = checked; 
    122122            inputElem.layer = layer; 
     123            inputElem.control = this; 
     124            Event.observe(inputElem, "mouseup",  
     125                          this.onInputClick.bindAsEventListener(inputElem)); 
    123126             
    124127            // create span 
     
    126129            labelSpan.innerHTML = layer.name; 
    127130            labelSpan.style.verticalAlign = (baseLayer) ? "bottom" : "auto"; 
    128             Event.observe(labelSpan,  
    129                           "click",  
    130                           this.onLabelClick.bindAsEventListener(inputElem)); 
    131  
     131            Event.observe(labelSpan, "click",  
     132                          this.onInputClick.bindAsEventListener(inputElem)); 
    132133            // create line break 
    133134            var br = document.createElement("br"); 
     
    159160     * @param {Event} e 
    160161     */ 
    161     onLabelClick: function(e) { 
     162 
     163    onInputClick: function(e) { 
    162164        var clickedRadioButton = ((this.type == "radio") && (this.checked)); 
    163165        if (!clickedRadioButton) { 
    164166            this.checked = !this.checked; 
    165167        } 
     168        Event.stop(e); 
     169        this.control.updateMap(); 
    166170    }, 
    167171     
     
    271275     
    272276        Event.observe(this.div, "mouseup",  
    273                       this.mouseUp.bindAsEventListener(this)); 
     277                      this.ignoreEvent); 
     278        Event.observe(this.div, "click", 
     279                      this.ignoreEvent); 
    274280        Event.observe(this.div, "mousedown", 
    275                       this.mouseDown.bindAsEventListener(this)); 
     281                      this.ignoreEvent); 
    276282        Event.observe(this.div, "dblclick", this.ignoreEvent); 
    277283 
     
    302308        this.baseLayersDiv = document.createElement("div"); 
    303309        this.baseLayersDiv.style.paddingLeft = "10px"; 
    304         Event.observe(this.baseLayersDiv, "click",  
     310        /*Event.observe(this.baseLayersDiv, "click",  
    305311                      this.onLayerClick.bindAsEventListener(this)); 
     312        */ 
    306313        this.layersDiv.appendChild(this.baseLayersDiv); 
    307314                      
     
    316323        this.dataLayersDiv = document.createElement("div"); 
    317324        this.dataLayersDiv.style.paddingLeft = "10px"; 
    318         Event.observe(this.dataLayersDiv, "click",  
     325        /*Event.observe(this.dataLayersDiv, "click",  
    319326                      this.onLayerClick.bindAsEventListener(this)); 
     327        */ 
    320328        this.layersDiv.appendChild(this.dataLayersDiv); 
    321329