Hello to everybody,<br><br>After some investigation, I´ve found out some serious troubles in DOM manipulation in the same DOM Object that fired the event in Opera. One good example of this is the "OpenLayers.LayerSwitcher" object, in the "onInputClick" function:<br>
<br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">onInputClick: function(e) {<br><br> if (!this.inputElem.disabled) {<br> if (this.inputElem.type == "radio") {<br>
this.inputElem.checked = true;<br> this.layer.map.setBaseLayer(this.layer);<br> } else {<br> this.inputElem.checked = !this.inputElem.checked;<br> this.layerSwitcher.updateMap();<br>
}<br> }<br> OpenLayers.Event.stop(e);<br> },</blockquote><div><br>I´ve customized the layerSwicher and changed the "onInputClick" function. In my layerSwitcher after clicking in a layer checkbox, it doesn´t update the map. I made this to have a button (Control) that updates the map when clicking it. After doing this I realised it doesn´t work in Opera, but works well in Safari, Firefox and IE 6,7. I think this works now in OpenLayers because it redraws again the layerswitcher, and the state of the layer is in the "Layer" object, not int the checkbox element itself. It works well with the "labelSpan" event that fires the same "onInputClick" function, so the problem begins when a DOM object fires an event and you must change the same DOM element that fired it. Surprisingly, it works when you changed the value to "false" (checked=false), but not when you have to change to "true".<br>
<br>I think something happens with the OpenLayers event listener (or with Opera 9.5 beta 2) when you have to change a DOM object attribute (for example, "checked" attribute in a "checkbox" object). <br>
<br>Thanks very much for your attention...<br><br><br>P.S.: there is another version of the map viewer, if someone want to see it here is the URL: <a href="http://www.mirame.chduero.es/DMADuero_09_Viewer">http://www.mirame.chduero.es/DMADuero_09_Viewer</a><br>
<br><br><br><br></div>