функция вызова javascript из переменной не работает

0

моя проблема

У меня этот код

<a href="json.php?id=1" class="load_content" data-callback="load_content_func" > Load Content </a>

и здесь мой код jquery

 // default load content function
 function load_content_func(){
    alert( 1 ) ;
 }
 $('a.load_content').click(function(){
     var h = $(this).attr('href');
     var func = {} ;
     var c = $(this).attr('data-callback');
     if(c){
        if(!$.isFunction(c)){
          func.ca ='load_content_func';
        }else{
          func.ca = c ;
        }
     }else{
        func.ca ='load_content_func';
     }
     var o = $(this) ;
     alert( func.ca ) ;
     func.ca ( o ) ;
     // func[ca]( o ) ;
 }) ;

этот код возвращает Ошибка: TypeError: func.ca не является функцией

мой код func.ca относится к load_content_func, но не работает здесь

как я могу решить эту проблему?

С уважением

  • 0
    это возвращает в консоли Firefox: Ошибка: ReferenceError: CA не определен
  • 0
    var func = {}; // массив
Показать ещё 4 комментария
Теги:
callback
function

1 ответ

0

Можешь попробовать:

window[func.ca](o)

если функция определена как корневая переменная или:

eval(func.ca + '(o)');

В любом случае я предпочитаю что-то вроде:

var my_functions = {};

my_functions.load_content_func = function(){
    alert( 1 ) ;
 }

Таким образом, вы можете позвонить:

my_functions[func.ca](o);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню