Si asigno una función dinamicamente a, por ejemplo, un botón con este código:
Código PHP:
elem=document.getElementById('boton');
elem.onclick = function () {alert(this.value)}
Gracias por vuestra ayuda. Saludos,

| ||||
probando, probando... 1,2,3...
Código:
<input type="button" id="boton"> <input type="button" onclick="elem.click()"> <script> elem=document.getElementById('boton'); elem.onclick = function () {alert(this.value)} </script> |
| ||||
Uf, yo jugando a hacer pruebas de este tipo me he llegado a encontrar con resultados totalmente inesperados y muy interesantes ![]() Eso sí... aún no les he encontrado aplicación, pero yá se la encontraré yá ![]() saludillos ![]() |
| ||||
Hola de nuevo. Rescato este mensaje, proque no me funciona del todo el código que propuso Carlitos (¡Hola! ![]() Código HTML: <html> <head> <title>Untitled</title> <style type="text/css"> div{width:50px;height:50px;border:1px solid blue;background-color:yellow} </style> <script type="text/javascript"> function ini() { elem=document.createElement('div'); elem.id='div1'; elem.onclick=function() {alert(this.id)}; document.body.appendChild(elem); } </script> </head> <body onload="ini()"> <input type="button" onclick="document.getElementById('div1').click()"> </body> </html> ![]() |
| ||||
Esto no funciona en Mozilla porque un HTMLElement no tiene el metodo click(). El único elemento que tiene el metodo click(), segun el API de Javascript, es el HTMLInputElement, que hereda de HTMLElement. Aqui tienes un enlace a la documentación, por si te sirve de algo. Documentación
__________________ Hi ha gent a qui no agrada que es parle, s'escriga o es pense en català. És la mateixa gent a qui no els agrada que es parle, s'escriga o es pense. Última edición por xavivars; 13/10/2004 a las 17:21 |
| ||||
He encontrado la manera de funcionar Código HTML: <html> <head> <title>Untitled</title> <style type="text/css"> div{width:50px;height:50px;border:1px solid blue;background-color:yellow} </style> <script type="text/javascript"> function ini() { elem=document.createElement('div'); elem.id='div1'; elem.onclick=function() {alert(this.id)}; document.body.appendChild(elem); } </script> </head> <body onload="ini()"> <input type="button" onclick="document.getElementById('div1').onclick()"> </body> </html> Así, si haces Código HTML: <html> <head> <title>Untitled</title> <style type="text/css"> div{width:50px;height:50px;border:1px solid blue;background-color:yellow} </style> <script type="text/javascript"> function ini() { elem=document.createElement('div'); elem.id='div1'; elem.nombrequetuquieras=function() {alert(this.id)}; document.body.appendChild(elem); } </script> </head> <body onload="ini()"> <input type="button" onclick="document.getElementById('div1').nombrequetuquieras()"> </body> </html> Jugando con esto, si le pones a nombrequetuquieras() el nombre de onclick() estas matando dos pajaros de un tiro: si pulsas directamente sobre el div, estas llamando al evento "onclick" que tiene la etiqueta DIV de html, en cambio si pulsas sobre el boton, se esta ejecutando el metodo onclick() QUE TU ACABAS DE CREAR en el objeto "elem" (del tipo HTMLDivElement). Espero que me entiendas (no se ni siquiera si me entiendo yo...) ![]()
__________________ Hi ha gent a qui no agrada que es parle, s'escriga o es pense en català. És la mateixa gent a qui no els agrada que es parle, s'escriga o es pense. |
| ||||
De nada, a mandar!
__________________ Hi ha gent a qui no agrada que es parle, s'escriga o es pense en català. És la mateixa gent a qui no els agrada que es parle, s'escriga o es pense. |