2013-03-22 2 views
2

Что мне здесь не хватает? Мне нужен обратный вызов для вызова paginate.something.apply(paginate) в зависимости от того, является ли это предыдущим или последующим.

prevOrNext = ["previous", "next"], 
    pageSet = { 
     1: function(){ 
      paginate.previousPage.apply(paginate) 
     }, 
     2: function(){ 
      paginate.nextPage.apply(paginate) 
     } 
    }; 

$.each(prevOrNext, function(n, v) { 
    list[index++] = createLi(v).on('click', function(e) { 
     e.preventDefault(); 
     pageSet[n]; 
    }); 
}); 
+2

'paginate [v +" Страница "]. Apply (paginate);'? –

+0

Вот и все! Положите его в ответ, когда сможете. –

ответ

3

Чтобы использовать переменную строку для доступа к свойству, вы можете использовать синтаксиса квадратных скобок:

var f = paginate[v + "Page"].apply(paginate); 

Вызов функции включает добавляющим круглые скобки, содержащие запятую аргументов, но очевидно, что вы знаете это из своего кода.

+0

Спасибо, мне действительно нужны были свежие глаза. –

4

Вы фактически не вызываете функцию. Вы, вероятно, имел в виду, чтобы сделать это:

pageSet[n](); 
Смежные вопросы