Foros del Web » Programando para Internet » Jquery »

Ejecutar funcion guardada en atributo data

Estas en el tema de Ejecutar funcion guardada en atributo data en el foro de Jquery en Foros del Web. Buenas tardes amigos, Tengo el siguiente codigo : HTML: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < button type = "button" data-ajax = "true" data-accion = ...
  #1 (permalink)  
Antiguo 17/04/2014, 12:13
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 9 meses
Puntos: 16
Ejecutar funcion guardada en atributo data

Buenas tardes amigos,


Tengo el siguiente codigo :
HTML:
Código HTML:
Ver original
  1. <button type="button" data-ajax="true" data-accion="hola" data-accion="hola">
  2.   Actualizar

javascript:
Código Javascript:
Ver original
  1. $( document ).ready(function(){
  2.    
  3.     $("[data-ajax=true]").on('click',function(){
  4.     console.log("llegue");
  5.             if($(this).data('accion')){
  6.                 $(this).data('accion').call(this);
  7.             }
  8.             console.log($(this).data('accion'));
  9.    
  10.     });
  11.    
  12. });
  13.  
  14. function hola(){
  15.     console.log('llegue al hola');
  16. }


Pero me da un error diciendome que "call" no es una funcion, a ver si alguien podria tener una idea de como puedo hacer para mandar a ejecutar una funcion q esté entonces guardada en un data?
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #2 (permalink)  
Antiguo 17/04/2014, 15:04
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Ejecutar funcion guardada en atributo data

Probablemente no se ejecuta la función hola() porque no la esté tomando como tal sino como simple texto. Para hacerlo, tendrías que utilizar la función eval, pero ten cuidado con su uso.

DEMO

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 17/04/2014, 18:33
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 9 meses
Puntos: 16
Respuesta: Ejecutar funcion guardada en atributo data

Precisamente lo que no queria era usar el "eval" pues he leido que no es muy recomendable. No hay alguna manera de decirle que no es un string sino que es una funcion? algo asi como en php al usar el "$$" ?

Muchas gracias.
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos

Etiquetas: data, funcion, html, javascript
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 08:34.