Foros del Web » Programando para Internet » Jquery »

evaluar valor data como funcion

Estas en el tema de evaluar valor data como funcion en el foro de Jquery en Foros del Web. Buenas noches amigos, Alguien podria decirme si hay una manera de validar un valor de un data como función sin tener que usar el eval? ...
  #1 (permalink)  
Antiguo 07/02/2015, 21:06
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 1 mes
Puntos: 16
evaluar valor data como funcion

Buenas noches amigos,

Alguien podria decirme si hay una manera de validar un valor de un data como función sin tener que usar el eval? Muchas gracias de antemano, me explico. tengo algo asi:

Código HTML:
Ver original
  1. <button data-algo='{"funcion":"nombrefuncion"}'>CLICK HERE</button>

Al capturarlo con jquery no me identifica el "nombrefuncion" como una función si intento ejecutarlo con el metodo call.
asi :
Código Javascript:
Ver original
  1. json.funcion.call();
Me da un error diciendome que call no es una funcion, sin embargo si envuelvo el json.funcion en un eval si la ejecuta, como es de esperar. ahora... como siempre he leido que el "eval" no es aconsejable usarlo, queria saber si hay alguna otra forma de hacerlo ? gracias de antemano a todos.
__________________
Lo imposible es lo posible visto por los ojos de un incapaz.
Si te sirve la respuesta. dale + al karma.
Saludos
  #2 (permalink)  
Antiguo 08/02/2015, 00:17
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: evaluar valor data como funcion

Una forma que puedes usar para evitar usar el eval es añadiendo dicho valor como propiedad del objeto global y luego ejecutarla como si se tratara de una llamada cualquiera a la función.

Código Javascript:
Ver original
  1. window[json.funcion]();

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

Etiquetas: data, evaluar, funcion, valor
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 13:59.