Вызов функции в плагине jquery с использованием аргумента

0

У меня есть основной плагин jquery, в котором используются атрибуты данных data-something = "thing", чтобы сообщить плагину, какая функция запускается внутри него.

Я использовал следующий, чтобы сделать это:

// Plugin definition.
$.fn.plugin = function( options ) {
    // Iterate and reformat each matched element.
    return this.each(function() {
        var func = element.data('something');
        var response = plugin[func]($(this));
    });
};

И это работает отлично. Но я хотел следовать стандарту jquery, где функции должны быть вызваны:

$.fn.plugin.thing($(this));

Итак... вопрос. Как это сделать? Возможно ли, когда одна и та же функция входит в текст?

Благодарю!

  • 0
    $.fn.plugin['thing'](..);
  • 0
    Посмотрите здесь некоторые стандартные шаблоны плагинов jquery: viget.com/inspire/jquery-plugin-patterns
Теги:
plugins

1 ответ

1
Лучший ответ

Если я правильно интерпретирую ваш вопрос, вы хотите использовать $.fn.plugin.func вместо $.fn.plugin[func], где func - это переменная, хранящая строку, которая является именем метода? Если это так, я не думаю, что это возможно, потому что JavaScript будет искать метод func в переменной plugin а не метод, названный после строки, содержащейся в переменной func.

  • 0
    Да, вот что я крутой. Спасибо!

Ещё вопросы

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