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! ) Me explico, funciona bien en IE, pero no en Nescafé ni Nocilla. Voy a dejar el código que he usado para hacer pruebas: 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. |
| ||||
Hola xavivars. No he mirado el enlace que has dejado por falta de tiempo, pero tu explicación se ha entendido bien y el código funciona de maravilla. Muchas gracias por tu ayuda. Saludos, |
| ||||
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. |