Foros del Web » Programando para Internet » Javascript »

Agregar propiedades al atributo onClick desde javascript

Estas en el tema de Agregar propiedades al atributo onClick desde javascript en el foro de Javascript en Foros del Web. Estoy tratando de agregar propiedades al atributo onclick desde javascript de manera facil pero no doy una!. Esto esto es lo que estoy tratando: @import ...
  #1 (permalink)  
Antiguo 13/03/2011, 10:13
Avatar de AlejandroMtzRmz  
Fecha de Ingreso: febrero-2011
Mensajes: 81
Antigüedad: 13 años, 2 meses
Puntos: 4
Pregunta Agregar propiedades al atributo onClick desde javascript

Estoy tratando de agregar propiedades al atributo onclick desde javascript de manera facil pero no doy una!. Esto esto es lo que estoy tratando:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.  
  3. var alClickear = new Function('codigo'){setAttribute("onClick",getAttribute('onClick') += ';' + codigo)};
  4.  
  5. </script>
  6.  
  7. <script type="text/javascript">
  8.  
  9. document.getElementById('boton').alClickear(function(){
  10.  
  11. alert('hola');
  12.  
  13. });
  14.  
  15. </script>

Código HTML:
<button id="boton">Boton</button> 
De ese modo cada vez que yo escriba

elemento.alClickear({ puedo definir una funcion });

sin necesidad de escribir el atributo onClick en el elemento deseado. No se que este mal, espero que me puedan ayudar :)
  #2 (permalink)  
Antiguo 14/03/2011, 09:29
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 19 años, 7 meses
Puntos: 9
Respuesta: Agregar propiedades al atributo onClick desde javascript

Hola.
prueba :


Cita:
<html>
<head>

<title></title>
<script>
var aBotonClick = [];
var fclick = function() {
for(var i=0; i<aBotonClick.length; i++) aBotonClick[i]();
}

aBotonClick[aBotonClick.length]= function(){
alert("primera")
}
aBotonClick[aBotonClick.length]= function(){
alert("segunda")
}
</script>

</head>
<body>
<input type="button" id="boton" />
<script type="text/javascript">
document.getElementById('boton').onclick = fclick;
</script>
</body>
</html>
saludos
  #3 (permalink)  
Antiguo 16/03/2011, 18:34
Avatar de AlejandroMtzRmz  
Fecha de Ingreso: febrero-2011
Mensajes: 81
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Agregar propiedades al atributo onClick desde javascript

mmmmmmmm no estoy seguro de que sea lo que buscaba, pero gracias de todos modos ;D
  #4 (permalink)  
Antiguo 16/03/2011, 23:45
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Agregar propiedades al atributo onClick desde javascript

buenas...

@alejandro, no tengo muy claro lo que intentas hacer. ¿podrias proveer mas detalles? me parece que quieres definir una funcion que te permita agregar handler al elemento. en tu codigo, fijate que el objeto element no contiene el metodo alClickear, de hecho tampoco es un evento de los elementos. lo que pretendes hacer me parece que es simplemente asigar un handler al evento onclick. en tal caso lo unico que tienes que hacer es lo siguiente.
Código:
element.onclick = function(){
// codigo que maneja el evento ;
};

// o si previamente tienes una funcion definida ;
element.onclick = nombre_funcion;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 17/03/2011, 18:13
Avatar de AlejandroMtzRmz  
Fecha de Ingreso: febrero-2011
Mensajes: 81
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Agregar propiedades al atributo onClick desde javascript

es exactamente un handler lo que tengo en mente, estudiare mas sobre element.onclick muchas gracias!!
  #6 (permalink)  
Antiguo 18/03/2011, 14:39
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Agregar propiedades al atributo onClick desde javascript

A ver así:
Código Javascript:
Ver original
  1. HTMLELement.prototype.alClickear = function(toDo){
  2.  this.addEventListener('click', toDo, false); // #1
  3. };
#1 : Como HTMLElement.prototype no funciona en IE (qué raro XD), no es necesario agregar attachEvent. También puedes hacer esto.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #7 (permalink)  
Antiguo 18/03/2011, 16:19
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Agregar propiedades al atributo onClick desde javascript

@cronos, ciertamente hubiera sido una buena idea si los constructores HTML funcionaran igual en todos los navegadores, pero desgraciadamente iexplorer le gusta ponernos las cosas complicadas. tampoco he revisado en todos los navegadores, de modo que pudiera haber uno que otro que no tenga la misma compatibilidad. de todos modos, al menos en iexplorer8 algunos constructores estan disponibles. Element es uno de ello y se puede usar de la manera que propones.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 18/03/2011, 16:48
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Agregar propiedades al atributo onClick desde javascript

Anda, pues en IE9 sí funciona, y eso que me sonaba que había hecho pruebas y no funcionaba... Sin embargo con IE8 no (también es cierto que lo estoy probando con IE9 que permite cambiar la versión del navegador, quizás es eso pero no creo).
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #9 (permalink)  
Antiguo 18/03/2011, 19:08
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Agregar propiedades al atributo onClick desde javascript

Tengo la solucion jquery (pero jquery es un framework livianito y es compatible con otros framework de javascript)

$(document).ready(function(){

$("#boton1").click(function(){

return false;

});

$("#boton2").click(function(){

$("#boton1").click(function(){

return true; // Cuando se hace click en el div en el boton #boton2 se cambia la funcionalidad

})

})


})


Espero te sirva, suerte.
  #10 (permalink)  
Antiguo 18/03/2011, 19:18
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Agregar propiedades al atributo onClick desde javascript

InKarC,

Si bien con cualquier FW, se soluciona con un par de lineas, cualquiera de ellos incluido jquery dista mucho de ser liviano, comprimidos pesan 100kb en promedio, liviano para mi es algo que pesa 3kb y no creo que sea necesario para lo que quiere hacer AlejandroMtzRmz.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #11 (permalink)  
Antiguo 18/03/2011, 19:24
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Agregar propiedades al atributo onClick desde javascript

Cita:
Iniciado por masterpuppet Ver Mensaje
InKarC,

Si bien con cualquier FW, se soluciona con un par de lineas, cualquiera de ellos incluido jquery dista mucho de ser liviano, comprimidos pesan 100kb en promedio, liviano para mi es algo que pesa 3kb y no creo que sea necesario para lo que quiere hacer AlejandroMtzRmz.

Saludos.
1) Jquery pesa solo 29KB comprimido

2) Perfectamente lo puede agregar usando la libreria de google que cientos de webs usan por lo que probablemente ya este precargado en el computador del usuario haciendo del peso del framework algo absolutamente irrelevante

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
  #12 (permalink)  
Antiguo 18/03/2011, 19:33
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Agregar propiedades al atributo onClick desde javascript

Descarga del link que pusiste la librería y fíjate cuanto pesa, 29kb puede ser si el servidor lo sirve comprimido, algo que tenes que activar y aun si pesa 29kb, no te parece demasiado para asignar un evento ?, yo creo que es un error cargar una librería para algo tan simple, pero bueno es una opinión personal.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #13 (permalink)  
Antiguo 18/03/2011, 19:37
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Agregar propiedades al atributo onClick desde javascript

Cuando un navegador hace la petición de un archivo el servidor lo envía comprimido y el navegador lo descomprime; por lo que no esta muy lejano a los 29KB mencionados.
Y como te digo, si ya se abrio en otra pagina la libreria nunca se "carga" por que ya esta cargada desde antes.

Saludos.

Última edición por InKarC; 18/03/2011 a las 19:44
  #14 (permalink)  
Antiguo 20/03/2011, 14:30
Avatar de AlejandroMtzRmz  
Fecha de Ingreso: febrero-2011
Mensajes: 81
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Agregar propiedades al atributo onClick desde javascript

Presisamente estoy haciendo el codigo yo, para evitar usar jquery o cualquier otra libreria
  #15 (permalink)  
Antiguo 20/03/2011, 16:12
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Agregar propiedades al atributo onClick desde javascript

O claro, esas malvadas librerías haran tu script 300 milisegundos mas lento, lo que es intorelable! lol
  #16 (permalink)  
Antiguo 20/03/2011, 17:00
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Agregar propiedades al atributo onClick desde javascript

Pues a lo mejor sí, ¿para qué ralentizar la carga de una página cuando no es necesario? Si sólo voy a usar una mínima parte de la librería, ¿por qué cargarla toda?
Además puedes reprocharme que quiera reinventar la rueda, pero personalmente la única librería que uso es la que poco a poco voy construyendo yo, con ayuda de otros por supuesto.
Saludos.
PD: No sé qué pensarán los demás y tampoco me importa mucho, pero por mi parte te llevas karma negativo.
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #17 (permalink)  
Antiguo 20/03/2011, 17:28
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Agregar propiedades al atributo onClick desde javascript

[offtopic]
desgraciadamente los debates de los frameworks siempre tendran algo de que discutir. en varias ocaciones ya se ha debatido el tema por lo que no voy a repetir las opiniones/hechos que son obvias.

lo que si quiero es hacer una observacion personal. las librerias de por si, por mas pequeñas o grandes que sean, o incluso si es libreria propia o de terceros, en la mayoria de los casos siempre presentan el mismo problema por lo que los puristas lo rechazan: sobrecarga innecesaria para tareas sencillas. lo unico que lo justifica es si se va a utilizar al maximo y de forma extensiva. pienso que el factor principal se debe a la forma que las librerias estan diseñadas: poca modularizacion. yo creo que la libreria perfecta es aquella en la que puedes escoger por partes separadas las herramientas/funciones que vas a utilizar en lugar de cargar todas de un golpe y no utilizarlas.
[/offtopic]

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #18 (permalink)  
Antiguo 20/03/2011, 21:05
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Agregar propiedades al atributo onClick desde javascript

Cita:
framework were made by purist for lazy people. shame on purist. -- albert einstein
Einstein nunca dijo eso, ni nada remotamante parecido...
  #19 (permalink)  
Antiguo 20/03/2011, 22:09
Avatar de AlejandroMtzRmz  
Fecha de Ingreso: febrero-2011
Mensajes: 81
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Agregar propiedades al atributo onClick desde javascript

EXACTO _cronos2 !!!!! totalmente de acuerdo con: "Además puedes reprocharme que quiera reinventar la rueda, pero personalmente la única librería que uso es la que poco a poco voy construyendo yo, con ayuda de otros por supuesto." InKarC: no evito las librerias porque hagan mas larga la espera de carga de la pagina, las evito por ahora porque estoy en una etapa en la que trato de aprender a hacer las cosas desde el fondo, sin cosas hechas por terceros
  #20 (permalink)  
Antiguo 21/03/2011, 18:19
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Agregar propiedades al atributo onClick desde javascript

Tal vez deberías ir mas al fondo; crear un nuevo lenguaje mejor que javascript; ya que javascript tiene muchas funciones así que esta pre-hecho; y sáltate los lenguajes de programacion ya prefabricados para desarrollarlo, tales como C++, Java y demás; ve directo al fondo; código binario.
  #21 (permalink)  
Antiguo 21/03/2011, 18:30
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Agregar propiedades al atributo onClick desde javascript

@inkarc, no acabo de entender el argumento que intentas exponer. ¿sugieres hacer el codigo en binario? creo que sabes muy bien que no tiene sentido, y mucho menos cuando se trata de desarrollo web del lado cliente.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #22 (permalink)  
Antiguo 21/03/2011, 21:55
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Agregar propiedades al atributo onClick desde javascript

Cita:
framework were made by purist for lazy people. shame on purist. -- InKarC
No es eso calumnia?
  #23 (permalink)  
Antiguo 22/03/2011, 15:24
Avatar de AlejandroMtzRmz  
Fecha de Ingreso: febrero-2011
Mensajes: 81
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Agregar propiedades al atributo onClick desde javascript

Parece que no saben trabajar en foros
  #24 (permalink)  
Antiguo 22/03/2011, 16:05
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Agregar propiedades al atributo onClick desde javascript

@alejandro,

¿pudistes resolver tu problema? si aun no lo has resuelto, dale seguimiento al tema...

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #25 (permalink)  
Antiguo 28/03/2011, 18:15
Avatar de AlejandroMtzRmz  
Fecha de Ingreso: febrero-2011
Mensajes: 81
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Agregar propiedades al atributo onClick desde javascript

valla una semana sin usar la compu, lo siento... pues me ayudo mas tu respuesta zerokilled, averiguare mas sobre los eventos en js gracias
  #26 (permalink)  
Antiguo 28/03/2011, 18:26
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Agregar propiedades al atributo onClick desde javascript

@alejandro,
si interesa, aca tienes mas materiales. solo que debes tener cuidado con algunas referencias porque en ocaciones detallan un modelo antiguo de netscape el cual no es estandar.
http://www.librosweb.es/javascript/c...e_eventos.html
http://kusor.net/traducciones/brainj...vents1.es.html
http://www.quirksmode.org/js/introevents.html
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: onclick, propiedades, atributos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:31.