Mi funcion problematica es la siguiente.
Código Javascript:
Ver original
this.vbox = function() { //Crea la variable privada self con un elemento //HTMLTable y un metodo de acceso para obtener //el elemento HTML var self this.self = function() {return self} self = document.createElement('table') //Agrega un hijo a este widget siendo dentro de un //TD dentro de un TR // El objeto que recive tambien tiene un self //con un HTMLObject que se obtiene por self this.append = function(child) { var tr var td tr = document.createElement('tr') td = document.createElement('td') td.appendChild(child.self()) tr.appendChild(td) self.appendChild(tr) } //Devuelve este objeto return this }
Estoy haciendo un pequeño toolkit al estilo gtk pero en java script. Si me lo piden puedo ir pasando el codigo entero.
Despues de muchos prototipos lindos logo un codigo como este:
Código Javascript:
Ver original
tk = wgtk(); function cuando_clickeo_mi_boton() { alert('ME HICISTE CLIC!!!!') } mi_capa = new tk.layer() mi_caja = new tk.vbox() mi_bton = new tk.button() mi_eti1 = new tk.label('Etiqueta1') mi_eti2 = new tk.label('Etiqueta2') mi_eti3 = new tk.label('Etiqueta del boton') mi_bton.trigger('click',cuando_clickeo_mi_boton) mi_caja.append(mi_eti1) mi_caja.append(mi_eti2) mi_caja.append(mi_bton) mi_bton.append(mi_eti3) mi_capa.append(mi_caja)
Que un divisor vertical con tres elementos. Dos de ellos etiquetas, uno es un boton con una etiqueta adetro y un evento en el boton que hace un alert.
Funciona perfecto en todos los navegadores pero en interner explorer 6 el metodo que señale al principio << wgtk.vbox.append >> no agrega el elemento a la tabla, aunque si crea la tabla.
No tengo visual studio para depurar por que uso linux y IE6 sobre wine pero si entre con IE6 por red en una maquina con windows y hace lo mismo.
Probe cada widget de manera independiente e inclusive << wgtk.button.append >> es muy similar y funciona. Este añade child.self() a un HTMLButton.
No tira ningun error ni si quira el simbolo de advertencia en la barra de estado.
Desde ya muchas gracias por cualquier clase de ayuda que me puedan dar.
SALUDOS!!!